[INFO] fetching crate scylla-rs 0.1.6...
[INFO] fixing scylla-rs-0.1.6 against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] extracting crate scylla-rs 0.1.6 into /workspace/builds/worker-3-tc2/source
[INFO] started tweaking crates.io crate scylla-rs 0.1.6
[INFO] removed 0 missing examples
[INFO] finished tweaking crates.io crate scylla-rs 0.1.6
[INFO] tweaked toml for crates.io crate scylla-rs 0.1.6 written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate scylla-rs 0.1.6 on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate scylla-rs 0.1.6 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 7aad79a9a184548845852e1920c80459d8d30063fd939ac42cac010741f75d13
[INFO] running `Command { std: "docker" "start" "7aad79a9a184548845852e1920c80459d8d30063fd939ac42cac010741f75d13", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "7aad79a9a184548845852e1920c80459d8d30063fd939ac42cac010741f75d13" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7aad79a9a184548845852e1920c80459d8d30063fd939ac42cac010741f75d13", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "7aad79a9a184548845852e1920c80459d8d30063fd939ac42cac010741f75d13" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2018 edition to 2021
[INFO] [stderr] note: Switching to Edition 2021 will enable the use of the version 2 feature resolver in Cargo.
[INFO] [stderr] This may cause some dependencies to be built with fewer features enabled than previously.
[INFO] [stderr] More information about the resolver changes may be found at https://doc.rust-lang.org/nightly/edition-guide/rust-2021/default-cargo-resolver.html
[INFO] [stderr] When building the following dependencies, the given features will no longer be used:
[INFO] [stderr] 
[INFO] [stderr]   log v0.4.14 removed features: std
[INFO] [stderr]   tokio v1.12.0 removed features: macros, num_cpus, once_cell, rt-multi-thread, signal, signal-hook-registry, tokio-macros, winapi
[INFO] [stderr] 
[INFO] [stderr] The following differences only apply when building with dev-dependencies:
[INFO] [stderr] 
[INFO] [stderr]   tokio v1.12.0 removed features: winapi
[INFO] [stderr] 
[INFO] [stderr]    Compiling proc-macro2 v1.0.29
[INFO] [stderr]    Compiling unicode-xid v0.2.2
[INFO] [stderr]    Compiling syn v1.0.76
[INFO] [stderr]    Compiling libc v0.2.102
[INFO] [stderr]    Compiling autocfg v1.0.1
[INFO] [stderr]    Compiling memchr v2.4.1
[INFO] [stderr]    Compiling log v0.4.14
[INFO] [stderr]    Compiling typenum v1.14.0
[INFO] [stderr]    Compiling version_check v0.9.3
[INFO] [stderr]    Compiling futures-core v0.3.17
[INFO] [stderr]    Compiling proc-macro-hack v0.5.19
[INFO] [stderr]    Compiling proc-macro-nested v0.1.7
[INFO] [stderr]    Compiling futures-task v0.3.17
[INFO] [stderr]    Compiling futures-channel v0.3.17
[INFO] [stderr]     Checking bytes v1.1.0
[INFO] [stderr]     Checking tinyvec_macros v0.1.0
[INFO] [stderr]     Checking futures-sink v0.3.17
[INFO] [stderr]     Checking pin-project-lite v0.2.7
[INFO] [stderr]     Checking tinyvec v1.4.0
[INFO] [stderr]     Checking futures-io v0.3.17
[INFO] [stderr]    Compiling serde_derive v1.0.130
[INFO] [stderr]     Checking slab v0.4.4
[INFO] [stderr]    Compiling generic-array v0.14.4
[INFO] [stderr]     Checking matches v0.1.9
[INFO] [stderr]    Compiling httparse v1.5.1
[INFO] [stderr]    Compiling cc v1.0.70
[INFO] [stderr]    Compiling serde v1.0.130
[INFO] [stderr]     Checking itoa v0.4.8
[INFO] [stderr]    Compiling futures-macro v0.3.17
[INFO] [stderr]    Compiling futures-util v0.3.17
[INFO] [stderr]    Compiling tokio v1.12.0
[INFO] [stderr]     Checking ppv-lite86 v0.2.10
[INFO] [stderr]     Checking percent-encoding v2.1.0
[INFO] [stderr]     Checking unicode-bidi v0.3.6
[INFO] [stderr]     Checking cpufeatures v0.2.1
[INFO] [stderr]     Checking once_cell v1.8.0
[INFO] [stderr]    Compiling quote v1.0.9
[INFO] [stderr]    Compiling async-trait v0.1.51
[INFO] [stderr]     Checking form_urlencoded v1.0.1
[INFO] [stderr]    Compiling ryu v1.0.5
[INFO] [stderr]     Checking http v0.2.5
[INFO] [stderr]    Compiling num-traits v0.2.14
[INFO] [stderr]     Checking input_buffer v0.4.0
[INFO] [stderr]    Compiling serde_json v1.0.68
[INFO] [stderr]    Compiling anyhow v1.0.44
[INFO] [stderr]     Checking base64 v0.13.0
[INFO] [stderr]     Checking utf-8 v0.7.6
[INFO] [stderr]    Compiling snap v1.0.5
[INFO] [stderr]     Checking byteorder v1.4.3
[INFO] [stderr]     Checking aho-corasick v0.7.18
[INFO] [stderr]     Checking regex-syntax v0.6.25
[INFO] [stderr]     Checking dyn-clone v1.0.4
[INFO] [stderr]     Checking humantime v2.1.0
[INFO] [stderr]     Checking md5 v0.7.0
[INFO] [stderr]     Checking port_scanner v0.1.5
[INFO] [stderr]     Checking getrandom v0.2.3
[INFO] [stderr]     Checking num_cpus v1.13.0
[INFO] [stderr]     Checking signal-hook-registry v1.4.0
[INFO] [stderr]     Checking mio v0.7.13
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking termcolor v1.1.2
[INFO] [stderr]     Checking rand_core v0.6.3
[INFO] [stderr]     Checking block-buffer v0.9.0
[INFO] [stderr]     Checking digest v0.9.0
[INFO] [stderr]    Compiling lz4-sys v1.9.2
[INFO] [stderr]     Checking sha-1 v0.9.8
[INFO] [stderr]     Checking unicode-normalization v0.1.19
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand v0.8.4
[INFO] [stderr]     Checking regex v1.5.4
[INFO] [stderr]     Checking idna v0.2.3
[INFO] [stderr]     Checking url v2.2.2
[INFO] [stderr]     Checking env_logger v0.8.4
[INFO] [stderr]    Compiling thiserror-impl v1.0.29
[INFO] [stderr]    Compiling tokio-macros v1.3.0
[INFO] [stderr]    Compiling pin-project-internal v1.0.8
[INFO] [stderr]    Compiling async-recursion v0.3.2
[INFO] [stderr]    Compiling num-derive v0.3.3
[INFO] [stderr]     Checking thiserror v1.0.29
[INFO] [stderr]     Checking tungstenite v0.13.0
[INFO] [stderr]     Checking pin-project v1.0.8
[INFO] [stderr]     Checking futures-executor v0.3.17
[INFO] [stderr]     Checking futures v0.3.17
[INFO] [stderr]     Checking tokio-tungstenite v0.14.0
[INFO] [stderr]     Checking backstage v0.1.1
[INFO] [stderr]     Checking lz4 v1.23.2
[INFO] [stderr]     Checking scylla-rs v0.1.6 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/lib.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating examples/scylla.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating examples/benchmark.rs from 2018 edition to 2021
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 38.98s
[INFO] [stderr] crater-edition-check: scylla-rs v0.1.6 (/opt/rustwide/workdir) updating edition from 2018 to 2021
[INFO] [stderr]    Compiling tokio v1.12.0
[INFO] [stderr]     Checking backstage v0.1.1
[INFO] [stderr]     Checking tokio-tungstenite v0.14.0
[INFO] [stderr]     Checking scylla-rs v0.1.6 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary parentheses around index expression
[INFO] [stdout]   --> src/cql/frame/error.rs:45:28
[INFO] [stdout]    |
[INFO] [stdout] 45 |                     &slice[(6 + message.len()..)],
[INFO] [stdout]    |                            ^                   ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 45 -                     &slice[(6 + message.len()..)],
[INFO] [stdout] 45 +                     &slice[6 + message.len()..],
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around index expression
[INFO] [stdout]   --> src/cql/frame/error.rs:50:28
[INFO] [stdout]    |
[INFO] [stdout] 50 |                     &slice[(6 + message.len()..)],
[INFO] [stdout]    |                            ^                   ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 50 -                     &slice[(6 + message.len()..)],
[INFO] [stdout] 50 +                     &slice[6 + message.len()..],
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around index expression
[INFO] [stdout]   --> src/cql/frame/error.rs:55:28
[INFO] [stdout]    |
[INFO] [stdout] 55 |                     &slice[(6 + message.len()..)],
[INFO] [stdout]    |                            ^                   ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 55 -                     &slice[(6 + message.len()..)],
[INFO] [stdout] 55 +                     &slice[6 + message.len()..],
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around index expression
[INFO] [stdout]   --> src/cql/frame/error.rs:60:28
[INFO] [stdout]    |
[INFO] [stdout] 60 |                     &slice[(6 + message.len()..)],
[INFO] [stdout]    |                            ^                   ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 60 -                     &slice[(6 + message.len()..)],
[INFO] [stdout] 60 +                     &slice[6 + message.len()..],
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around index expression
[INFO] [stdout]   --> src/cql/frame/error.rs:65:28
[INFO] [stdout]    |
[INFO] [stdout] 65 |                     &slice[(6 + message.len()..)],
[INFO] [stdout]    |                            ^                   ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 65 -                     &slice[(6 + message.len()..)],
[INFO] [stdout] 65 +                     &slice[6 + message.len()..],
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around index expression
[INFO] [stdout]   --> src/cql/frame/error.rs:70:28
[INFO] [stdout]    |
[INFO] [stdout] 70 |                     &slice[(6 + message.len()..)],
[INFO] [stdout]    |                            ^                   ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 70 -                     &slice[(6 + message.len()..)],
[INFO] [stdout] 70 +                     &slice[6 + message.len()..],
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around index expression
[INFO] [stdout]   --> src/cql/frame/error.rs:75:28
[INFO] [stdout]    |
[INFO] [stdout] 75 |                     &slice[(6 + message.len()..)],
[INFO] [stdout]    |                            ^                   ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 75 -                     &slice[(6 + message.len()..)],
[INFO] [stdout] 75 +                     &slice[6 + message.len()..],
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around index expression
[INFO] [stdout]   --> src/cql/frame/error.rs:80:28
[INFO] [stdout]    |
[INFO] [stdout] 80 |                     &slice[(6 + message.len()..)],
[INFO] [stdout]    |                            ^                   ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 80 -                     &slice[(6 + message.len()..)],
[INFO] [stdout] 80 +                     &slice[6 + message.len()..],
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around index expression
[INFO] [stdout]   --> src/cql/frame/error.rs:45:28
[INFO] [stdout]    |
[INFO] [stdout] 45 |                     &slice[(6 + message.len()..)],
[INFO] [stdout]    |                            ^                   ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 45 -                     &slice[(6 + message.len()..)],
[INFO] [stdout] 45 +                     &slice[6 + message.len()..],
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around index expression
[INFO] [stdout]   --> src/cql/frame/error.rs:50:28
[INFO] [stdout]    |
[INFO] [stdout] 50 |                     &slice[(6 + message.len()..)],
[INFO] [stdout]    |                            ^                   ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 50 -                     &slice[(6 + message.len()..)],
[INFO] [stdout] 50 +                     &slice[6 + message.len()..],
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around index expression
[INFO] [stdout]   --> src/cql/frame/error.rs:55:28
[INFO] [stdout]    |
[INFO] [stdout] 55 |                     &slice[(6 + message.len()..)],
[INFO] [stdout]    |                            ^                   ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 55 -                     &slice[(6 + message.len()..)],
[INFO] [stdout] 55 +                     &slice[6 + message.len()..],
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around index expression
[INFO] [stdout]   --> src/cql/frame/error.rs:60:28
[INFO] [stdout]    |
[INFO] [stdout] 60 |                     &slice[(6 + message.len()..)],
[INFO] [stdout]    |                            ^                   ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 60 -                     &slice[(6 + message.len()..)],
[INFO] [stdout] 60 +                     &slice[6 + message.len()..],
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around index expression
[INFO] [stdout]   --> src/cql/frame/error.rs:65:28
[INFO] [stdout]    |
[INFO] [stdout] 65 |                     &slice[(6 + message.len()..)],
[INFO] [stdout]    |                            ^                   ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 65 -                     &slice[(6 + message.len()..)],
[INFO] [stdout] 65 +                     &slice[6 + message.len()..],
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around index expression
[INFO] [stdout]   --> src/cql/frame/error.rs:70:28
[INFO] [stdout]    |
[INFO] [stdout] 70 |                     &slice[(6 + message.len()..)],
[INFO] [stdout]    |                            ^                   ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 70 -                     &slice[(6 + message.len()..)],
[INFO] [stdout] 70 +                     &slice[6 + message.len()..],
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around index expression
[INFO] [stdout]   --> src/cql/frame/error.rs:75:28
[INFO] [stdout]    |
[INFO] [stdout] 75 |                     &slice[(6 + message.len()..)],
[INFO] [stdout]    |                            ^                   ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 75 -                     &slice[(6 + message.len()..)],
[INFO] [stdout] 75 +                     &slice[6 + message.len()..],
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around index expression
[INFO] [stdout]   --> src/cql/frame/error.rs:80:28
[INFO] [stdout]    |
[INFO] [stdout] 80 |                     &slice[(6 + message.len()..)],
[INFO] [stdout]    |                            ^                   ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 80 -                     &slice[(6 + message.len()..)],
[INFO] [stdout] 80 +                     &slice[6 + message.len()..],
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `global_table_spec` and `no_metadata` are never read
[INFO] [stdout]   --> src/cql/frame/rows.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct Flags {
[INFO] [stdout]    |            ----- fields in this struct
[INFO] [stdout] 21 |     global_table_spec: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 22 |     has_more_pages: bool,
[INFO] [stdout] 23 |     no_metadata: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Flags` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `columns_count` is never read
[INFO] [stdout]   --> src/cql/frame/rows.rs:56:5
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct Metadata {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] 55 |     flags: Flags,
[INFO] [stdout] 56 |     columns_count: ColumnsCount,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Metadata` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `request_type` is never read
[INFO] [stdout]    --> src/app/access/mod.rs:124:5
[INFO] [stdout]     |
[INFO] [stdout] 122 | pub struct DecodeResult<T> {
[INFO] [stdout]     |            ------------ field in this struct
[INFO] [stdout] 123 |     inner: T,
[INFO] [stdout] 124 |     request_type: RequestType,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DecodeResult` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/cql/frame/consistency.rs:10:17
[INFO] [stdout]    |
[INFO] [stdout] 10 | #[derive(Debug, FromPrimitive)]
[INFO] [stdout]    |                 ^------------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `FromPrimitive` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_Consistency`
[INFO] [stdout] ...
[INFO] [stdout] 13 | pub enum Consistency {
[INFO] [stdout]    |          ----------- `Consistency` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/app/ring/mod.rs:137:39
[INFO] [stdout]     |
[INFO] [stdout] 137 |                         Weak::upgrade(GLOBAL_RING.as_ref().unwrap().load(Ordering::Relaxed).as_ref().unwrap())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout]  79 - static mut GLOBAL_RING: Option<AtomicRing> = None;
[INFO] [stdout]  79 + static GLOBAL_RING: Option<AtomicRing> = None;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/app/ring/mod.rs:160:35
[INFO] [stdout]     |
[INFO] [stdout] 160 |                     Weak::upgrade(GLOBAL_RING.as_ref().unwrap().load(Ordering::Relaxed).as_ref().unwrap())
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout]  79 - static mut GLOBAL_RING: Option<AtomicRing> = None;
[INFO] [stdout]  79 + static GLOBAL_RING: Option<AtomicRing> = None;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/app/ring/mod.rs:251:32
[INFO] [stdout]     |
[INFO] [stdout] 251 |                 let old_weak = GLOBAL_RING.as_mut().unwrap().swap(raw_box, Ordering::Relaxed);
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout]  79 - static mut GLOBAL_RING: Option<AtomicRing> = None;
[INFO] [stdout]  79 + static GLOBAL_RING: Option<AtomicRing> = None;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/app/ring/mod.rs:607:24
[INFO] [stdout]     |
[INFO] [stdout] 607 |         let old_weak = GLOBAL_RING.as_mut().unwrap().swap(raw_box, Ordering::Relaxed);
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout]  79 - static mut GLOBAL_RING: Option<AtomicRing> = None;
[INFO] [stdout]  79 + static GLOBAL_RING: Option<AtomicRing> = None;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `global_table_spec` and `no_metadata` are never read
[INFO] [stdout]   --> src/cql/frame/rows.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct Flags {
[INFO] [stdout]    |            ----- fields in this struct
[INFO] [stdout] 21 |     global_table_spec: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 22 |     has_more_pages: bool,
[INFO] [stdout] 23 |     no_metadata: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Flags` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `columns_count` is never read
[INFO] [stdout]   --> src/cql/frame/rows.rs:56:5
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct Metadata {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] 55 |     flags: Flags,
[INFO] [stdout] 56 |     columns_count: ColumnsCount,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Metadata` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `request_type` is never read
[INFO] [stdout]    --> src/app/access/mod.rs:124:5
[INFO] [stdout]     |
[INFO] [stdout] 122 | pub struct DecodeResult<T> {
[INFO] [stdout]     |            ------------ field in this struct
[INFO] [stdout] 123 |     inner: T,
[INFO] [stdout] 124 |     request_type: RequestType,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DecodeResult` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BatchWorker` is never constructed
[INFO] [stdout]    --> src/app/access/mod.rs:332:12
[INFO] [stdout]     |
[INFO] [stdout] 332 |     struct BatchWorker<S> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/cql/frame/consistency.rs:10:17
[INFO] [stdout]    |
[INFO] [stdout] 10 | #[derive(Debug, FromPrimitive)]
[INFO] [stdout]    |                 ^------------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `FromPrimitive` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_Consistency`
[INFO] [stdout] ...
[INFO] [stdout] 13 | pub enum Consistency {
[INFO] [stdout]    |          ----------- `Consistency` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/app/ring/mod.rs:137:39
[INFO] [stdout]     |
[INFO] [stdout] 137 |                         Weak::upgrade(GLOBAL_RING.as_ref().unwrap().load(Ordering::Relaxed).as_ref().unwrap())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout]  79 - static mut GLOBAL_RING: Option<AtomicRing> = None;
[INFO] [stdout]  79 + static GLOBAL_RING: Option<AtomicRing> = None;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/app/ring/mod.rs:160:35
[INFO] [stdout]     |
[INFO] [stdout] 160 |                     Weak::upgrade(GLOBAL_RING.as_ref().unwrap().load(Ordering::Relaxed).as_ref().unwrap())
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout]  79 - static mut GLOBAL_RING: Option<AtomicRing> = None;
[INFO] [stdout]  79 + static GLOBAL_RING: Option<AtomicRing> = None;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/app/ring/mod.rs:251:32
[INFO] [stdout]     |
[INFO] [stdout] 251 |                 let old_weak = GLOBAL_RING.as_mut().unwrap().swap(raw_box, Ordering::Relaxed);
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout]  79 - static mut GLOBAL_RING: Option<AtomicRing> = None;
[INFO] [stdout]  79 + static GLOBAL_RING: Option<AtomicRing> = None;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/app/ring/mod.rs:607:24
[INFO] [stdout]     |
[INFO] [stdout] 607 |         let old_weak = GLOBAL_RING.as_mut().unwrap().swap(raw_box, Ordering::Relaxed);
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout]  79 - static mut GLOBAL_RING: Option<AtomicRing> = None;
[INFO] [stdout]  79 + static GLOBAL_RING: Option<AtomicRing> = None;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 45.93s
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2018 edition to 2021
[INFO] [stderr] note: Switching to Edition 2021 will enable the use of the version 2 feature resolver in Cargo.
[INFO] [stderr] This may cause some dependencies to be built with fewer features enabled than previously.
[INFO] [stderr] More information about the resolver changes may be found at https://doc.rust-lang.org/nightly/edition-guide/rust-2021/default-cargo-resolver.html
[INFO] [stderr] When building the following dependencies, the given features will no longer be used:
[INFO] [stderr] 
[INFO] [stderr]   log v0.4.14 removed features: std
[INFO] [stderr]   tokio v1.12.0 removed features: macros, num_cpus, once_cell, rt-multi-thread, signal, signal-hook-registry, tokio-macros, winapi
[INFO] [stderr] 
[INFO] [stderr] The following differences only apply when building with dev-dependencies:
[INFO] [stderr] 
[INFO] [stderr]   tokio v1.12.0 removed features: winapi
[INFO] [stderr] 
[INFO] [stderr]     Checking scylla-rs v0.1.6 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/lib.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed src/app/stage/sender/init.rs (1 fix)
[INFO] [stderr]        Fixed src/app/stage/init.rs (1 fix)
[INFO] [stderr]        Fixed src/app/node/init.rs (1 fix)
[INFO] [stderr]        Fixed src/app/cluster/event_loop.rs (1 fix)
[INFO] [stderr]        Fixed src/app/stage/reporter/event_loop.rs (2 fixes)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/cql/connection/cql.rs:292:31
[INFO] [stdout]     |
[INFO] [stdout] 292 |                         match self.connect().await {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                               |              |
[INFO] [stdout]     |                               |              this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                               |              up until Edition 2021 `#7` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                               |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                               |              `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                               up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                               `__awaitee` calls a custom destructor
[INFO] [stdout]     |                               `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] 293 |                             Ok(_) => {
[INFO] [stdout] 294 |                                 let mut cqlconn = self.cql.take().ok_or_else(|| anyhow!("No CQL connection!"))?;
[INFO] [stdout]     |                                     -----------   -------------------------------------------------------------
[INFO] [stdout]     |                                     |             |
[INFO] [stdout]     |                                     |             this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                     |             `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                     `cqlconn` calls a custom destructor
[INFO] [stdout]     |                                     `cqlconn` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 297 |                                         cqlconn.fetch_tokens().await?;
[INFO] [stdout]     |                                         -----------------------------
[INFO] [stdout]     |                                         |                      |
[INFO] [stdout]     |                                         |                      this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                                         |                      `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                         `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                         this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                         `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 317 |                     }
[INFO] [stdout]     |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.44/src/error.rs:565:1
[INFO] [stdout]     |
[INFO] [stdout] 565 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.44/src/error.rs:565:1
[INFO] [stdout]     |
[INFO] [stdout] 565 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cqlconn` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/io/poll_evented.rs:202:1
[INFO] [stdout]     |
[INFO] [stdout] 202 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.44/src/error.rs:565:1
[INFO] [stdout]     |
[INFO] [stdout] 565 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/io/poll_evented.rs:202:1
[INFO] [stdout]     |
[INFO] [stdout] 202 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.44/src/error.rs:565:1
[INFO] [stdout]     |
[INFO] [stdout] 565 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.44/src/error.rs:565:1
[INFO] [stdout]     |
[INFO] [stdout] 565 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/app/websocket/client/add_nodes.rs:21:31
[INFO] [stdout]     |
[INFO] [stdout]  21 |         while let Some(msg) = ws_stream.next().await {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                               |                |
[INFO] [stdout]     |                               |                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                               |                `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                               up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  22 |             let msg = msg.map_err(|_| anyhow!("Expected message from the WebSocketStream while building a ring"))?;
[INFO] [stdout]     |                       --------------------------------------------------------------------------------------------
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                       `#2` will be dropped later as of Edition 2024
[INFO] [stdout]  23 |             let msg = msg.to_text()?;
[INFO] [stdout]     |                       --------------
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                       `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  31 |                     ws_stream.close(None).await?;
[INFO] [stdout]     |                     ----------------------------
[INFO] [stdout]     |                     |                     |
[INFO] [stdout]     |                     |                     this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                     |                     `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     |                     this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                     `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |                     `__awaitee` calls a custom destructor
[INFO] [stdout]     |                     `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  37 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.44/src/error.rs:565:1
[INFO] [stdout]     |
[INFO] [stdout] 565 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/app/websocket/client/add_nodes.rs:21:31
[INFO] [stdout]     |
[INFO] [stdout]  17 |         let j = serde_json::to_string(&msg).map_err(|_| anyhow!("Invalid AddNode event"))?;
[INFO] [stdout]     |                 --------------------------------------------------------------------------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout]  18 |         let m = Message::text(j);
[INFO] [stdout]  19 |         ws_stream.send(m).await?;
[INFO] [stdout]     |         ------------------------
[INFO] [stdout]     |         |                 |
[INFO] [stdout]     |         |                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |         |                 `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |         `#2` will be dropped later as of Edition 2024
[INFO] [stdout]  20 |         // await till the node is added
[INFO] [stdout]  21 |         while let Some(msg) = ws_stream.next().await {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                               |                |
[INFO] [stdout]     |                               |                this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                               |                `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                               up until Edition 2021 `#9` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  22 |             let msg = msg.map_err(|_| anyhow!("Expected message from the WebSocketStream while building a ring"))?;
[INFO] [stdout]     |                       --------------------------------------------------------------------------------------------
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                       `#5` will be dropped later as of Edition 2024
[INFO] [stdout]  23 |             let msg = msg.to_text()?;
[INFO] [stdout]     |                       --------------
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                       `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  31 |                     ws_stream.close(None).await?;
[INFO] [stdout]     |                     ----------------------------
[INFO] [stdout]     |                     |                     |
[INFO] [stdout]     |                     |                     this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                     |                     `#8` will be dropped later as of Edition 2024
[INFO] [stdout]     |                     this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                     `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     |                     `__awaitee` calls a custom destructor
[INFO] [stdout]     |                     `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  37 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#9` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.44/src/error.rs:565:1
[INFO] [stdout]     |
[INFO] [stdout] 565 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.44/src/error.rs:565:1
[INFO] [stdout]     |
[INFO] [stdout] 565 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#8` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/app/websocket/client/add_nodes.rs:46:27
[INFO] [stdout]     |
[INFO] [stdout]  46 |     while let Some(msg) = ws_stream.next().await {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                           |                |
[INFO] [stdout]     |                           |                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                           |                `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                           up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  47 |         let msg = msg.map_err(|_| anyhow!("Expected message from the WebSocketStream while building a ring"))?;
[INFO] [stdout]     |                   --------------------------------------------------------------------------------------------
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                   `#2` will be dropped later as of Edition 2024
[INFO] [stdout]  48 |         let msg = msg.to_text()?;
[INFO] [stdout]     |                   --------------
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                   `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  72 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.44/src/error.rs:565:1
[INFO] [stdout]     |
[INFO] [stdout] 565 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/app/application/event_loop.rs:53:62
[INFO] [stdout]     |
[INFO] [stdout]  12 |             while let Some(event) = self.inbox.rx.recv().await {
[INFO] [stdout]     |                            -----    --------------------------
[INFO] [stdout]     |                            |        |                    |
[INFO] [stdout]     |                            |        |                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                            |        |                    `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            |        `__awaitee` calls a custom destructor
[INFO] [stdout]     |                            |        `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            `event` calls a custom destructor
[INFO] [stdout]     |                            `event` will be dropped later as of Edition 2024
[INFO] [stdout]  13 |                 match event {
[INFO] [stdout]  14 |                     ScyllaEvent::Children(scylla_child) => {
[INFO] [stdout]     |                                           ------------
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           `scylla_child` calls a custom destructor
[INFO] [stdout]     |                                           `scylla_child` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  20 |                                 self.response_to_sockets(&socket_msg).await;
[INFO] [stdout]     |                                 -------------------------------------------
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                 `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  41 |                                 self.response_to_sockets(&socket_msg).await;
[INFO] [stdout]     |                                 -------------------------------------------
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                 `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  45 |                             ScyllaChild::Websocket(microservice, opt_ws_tx) => {
[INFO] [stdout]     |                                                                  ---------
[INFO] [stdout]     |                                                                  |
[INFO] [stdout]     |                                                                  `opt_ws_tx` calls a custom destructor
[INFO] [stdout]     |                                                                  `opt_ws_tx` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  49 |                                         self.websockets.insert(microservice.name, tx);
[INFO] [stdout]     |                                         ---------------------------------------------
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                         `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  53 |                                     if let Some(mut ws_tx) = self.websockets.remove(&microservice.name) {
[INFO] [stdout]     |                                                 ---------    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                 |            |
[INFO] [stdout]     |                                                 |            this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                                                 |            up until Edition 2021 `#10` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                                 `ws_tx` calls a custom destructor
[INFO] [stdout]     |                                                 `ws_tx` will be dropped later as of Edition 2024
[INFO] [stdout]  54 |                                         // make sure to close the websocket stream (optional)
[INFO] [stdout]  55 |                                         ws_tx.close().await.ok();
[INFO] [stdout]     |                                                       -----
[INFO] [stdout]     |                                                       |
[INFO] [stdout]     |                                                       this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                                                       `#5` will be dropped later as of Edition 2024
[INFO] [stdout]  56 |                                     }
[INFO] [stdout]  57 |                                 }
[INFO] [stdout]     |                                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout]  63 |                         self.response_to_sockets(&socket_msg).await;
[INFO] [stdout]     |                         -------------------------------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                         `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  66 |                         self.response_to_sockets(&service_socket_msg).await;
[INFO] [stdout]     |                         ---------------------------------------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                         `#7` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  92 |                                                 let _ = ws.close().await;
[INFO] [stdout]     |                                                         ----------------
[INFO] [stdout]     |                                                         |          |
[INFO] [stdout]     |                                                         |          this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                                                         |          `#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                                         this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                                                         `#8` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.17/src/lock/bilock.rs:190:1
[INFO] [stdout]     |
[INFO] [stdout] 190 | impl<T> Drop for Inner<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.17/src/lock/bilock.rs:190:1
[INFO] [stdout]     |
[INFO] [stdout] 190 | impl<T> Drop for Inner<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `event` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.17/src/lock/bilock.rs:190:1
[INFO] [stdout]     |
[INFO] [stdout] 190 | impl<T> Drop for Inner<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `scylla_child` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.17/src/lock/bilock.rs:190:1
[INFO] [stdout]     |
[INFO] [stdout] 190 | impl<T> Drop for Inner<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `opt_ws_tx` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.17/src/lock/bilock.rs:190:1
[INFO] [stdout]     |
[INFO] [stdout] 190 | impl<T> Drop for Inner<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.17/src/lock/bilock.rs:190:1
[INFO] [stdout]     |
[INFO] [stdout] 190 | impl<T> Drop for Inner<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `ws_tx` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.17/src/lock/bilock.rs:190:1
[INFO] [stdout]     |
[INFO] [stdout] 190 | impl<T> Drop for Inner<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#8` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#9` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/app/application/event_loop.rs:98:61
[INFO] [stdout]     |
[INFO] [stdout]  12 |             while let Some(event) = self.inbox.rx.recv().await {
[INFO] [stdout]     |                            -----    --------------------------
[INFO] [stdout]     |                            |        |                    |
[INFO] [stdout]     |                            |        |                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                            |        |                    `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            |        `__awaitee` calls a custom destructor
[INFO] [stdout]     |                            |        `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            `event` calls a custom destructor
[INFO] [stdout]     |                            `event` will be dropped later as of Edition 2024
[INFO] [stdout]  13 |                 match event {
[INFO] [stdout]  14 |                     ScyllaEvent::Children(scylla_child) => {
[INFO] [stdout]     |                                           ------------
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           `scylla_child` calls a custom destructor
[INFO] [stdout]     |                                           `scylla_child` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  20 |                                 self.response_to_sockets(&socket_msg).await;
[INFO] [stdout]     |                                 -------------------------------------------
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                 `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  41 |                                 self.response_to_sockets(&socket_msg).await;
[INFO] [stdout]     |                                 -------------------------------------------
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                 `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  45 |                             ScyllaChild::Websocket(microservice, opt_ws_tx) => {
[INFO] [stdout]     |                                                                  ---------
[INFO] [stdout]     |                                                                  |
[INFO] [stdout]     |                                                                  `opt_ws_tx` calls a custom destructor
[INFO] [stdout]     |                                                                  `opt_ws_tx` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  49 |                                         self.websockets.insert(microservice.name, tx);
[INFO] [stdout]     |                                         ---------------------------------------------
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                         `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  53 |                                     if let Some(mut ws_tx) = self.websockets.remove(&microservice.name) {
[INFO] [stdout]     |                                                 ---------
[INFO] [stdout]     |                                                 |
[INFO] [stdout]     |                                                 `ws_tx` calls a custom destructor
[INFO] [stdout]     |                                                 `ws_tx` will be dropped later as of Edition 2024
[INFO] [stdout]  54 |                                         // make sure to close the websocket stream (optional)
[INFO] [stdout]  55 |                                         ws_tx.close().await.ok();
[INFO] [stdout]     |                                                       -----
[INFO] [stdout]     |                                                       |
[INFO] [stdout]     |                                                       this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                                                       `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  63 |                         self.response_to_sockets(&socket_msg).await;
[INFO] [stdout]     |                         -------------------------------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                         `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  66 |                         self.response_to_sockets(&service_socket_msg).await;
[INFO] [stdout]     |                         ---------------------------------------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                         `#7` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  92 |                                                 let _ = ws.close().await;
[INFO] [stdout]     |                                                         ----------------
[INFO] [stdout]     |                                                         |          |
[INFO] [stdout]     |                                                         |          this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                                                         |          `#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                                         this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                                                         `#8` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  98 |                                             if let Err(_) = cluster.send(topology.into()) {
[INFO] [stdout]     |                                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                             |
[INFO] [stdout]     |                                                             this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                                                             up until Edition 2021 `#10` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 102 |                                         }
[INFO] [stdout]     |                                         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/sync/mpsc/chan.rs:182:1
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.17/src/lock/bilock.rs:190:1
[INFO] [stdout]     |
[INFO] [stdout] 190 | impl<T> Drop for Inner<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `event` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.17/src/lock/bilock.rs:190:1
[INFO] [stdout]     |
[INFO] [stdout] 190 | impl<T> Drop for Inner<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `scylla_child` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.17/src/lock/bilock.rs:190:1
[INFO] [stdout]     |
[INFO] [stdout] 190 | impl<T> Drop for Inner<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `opt_ws_tx` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.17/src/lock/bilock.rs:190:1
[INFO] [stdout]     |
[INFO] [stdout] 190 | impl<T> Drop for Inner<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.17/src/lock/bilock.rs:190:1
[INFO] [stdout]     |
[INFO] [stdout] 190 | impl<T> Drop for Inner<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `ws_tx` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.17/src/lock/bilock.rs:190:1
[INFO] [stdout]     |
[INFO] [stdout] 190 | impl<T> Drop for Inner<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#8` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#9` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/app/application/event_loop.rs:70:31
[INFO] [stdout]     |
[INFO] [stdout]  12 |             while let Some(event) = self.inbox.rx.recv().await {
[INFO] [stdout]     |                            -----    --------------------------
[INFO] [stdout]     |                            |        |                    |
[INFO] [stdout]     |                            |        |                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                            |        |                    `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            |        `__awaitee` calls a custom destructor
[INFO] [stdout]     |                            |        `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            `event` calls a custom destructor
[INFO] [stdout]     |                            `event` will be dropped later as of Edition 2024
[INFO] [stdout]  13 |                 match event {
[INFO] [stdout]  14 |                     ScyllaEvent::Children(scylla_child) => {
[INFO] [stdout]     |                                           ------------
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           `scylla_child` calls a custom destructor
[INFO] [stdout]     |                                           `scylla_child` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  20 |                                 self.response_to_sockets(&socket_msg).await;
[INFO] [stdout]     |                                 -------------------------------------------
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                 `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  41 |                                 self.response_to_sockets(&socket_msg).await;
[INFO] [stdout]     |                                 -------------------------------------------
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                 `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  45 |                             ScyllaChild::Websocket(microservice, opt_ws_tx) => {
[INFO] [stdout]     |                                                                  ---------
[INFO] [stdout]     |                                                                  |
[INFO] [stdout]     |                                                                  `opt_ws_tx` calls a custom destructor
[INFO] [stdout]     |                                                                  `opt_ws_tx` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  49 |                                         self.websockets.insert(microservice.name, tx);
[INFO] [stdout]     |                                         ---------------------------------------------
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                         `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  53 |                                     if let Some(mut ws_tx) = self.websockets.remove(&microservice.name) {
[INFO] [stdout]     |                                                 ---------
[INFO] [stdout]     |                                                 |
[INFO] [stdout]     |                                                 `ws_tx` calls a custom destructor
[INFO] [stdout]     |                                                 `ws_tx` will be dropped later as of Edition 2024
[INFO] [stdout]  54 |                                         // make sure to close the websocket stream (optional)
[INFO] [stdout]  55 |                                         ws_tx.close().await.ok();
[INFO] [stdout]     |                                                       -----
[INFO] [stdout]     |                                                       |
[INFO] [stdout]     |                                                       this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                                                       `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  63 |                         self.response_to_sockets(&socket_msg).await;
[INFO] [stdout]     |                         -------------------------------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                         `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  66 |                         self.response_to_sockets(&service_socket_msg).await;
[INFO] [stdout]     |                         ---------------------------------------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                         `#7` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  70 |                         match apps_events.try_get_my_event() {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                               up until Edition 2021 `#10` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  92 |                                                 let _ = ws.close().await;
[INFO] [stdout]     |                                                         ----------------
[INFO] [stdout]     |                                                         |          |
[INFO] [stdout]     |                                                         |          this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                                                         |          `#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                                         this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                                                         `#8` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 110 |                     }
[INFO] [stdout]     |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.17/src/lock/bilock.rs:190:1
[INFO] [stdout]     |
[INFO] [stdout] 190 | impl<T> Drop for Inner<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `event` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.17/src/lock/bilock.rs:190:1
[INFO] [stdout]     |
[INFO] [stdout] 190 | impl<T> Drop for Inner<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `scylla_child` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.17/src/lock/bilock.rs:190:1
[INFO] [stdout]     |
[INFO] [stdout] 190 | impl<T> Drop for Inner<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `opt_ws_tx` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.17/src/lock/bilock.rs:190:1
[INFO] [stdout]     |
[INFO] [stdout] 190 | impl<T> Drop for Inner<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.17/src/lock/bilock.rs:190:1
[INFO] [stdout]     |
[INFO] [stdout] 190 | impl<T> Drop for Inner<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `ws_tx` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.17/src/lock/bilock.rs:190:1
[INFO] [stdout]     |
[INFO] [stdout] 190 | impl<T> Drop for Inner<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#8` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#9` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/app/application/event_loop.rs:12:37
[INFO] [stdout]     |
[INFO] [stdout]  12 |             while let Some(event) = self.inbox.rx.recv().await {
[INFO] [stdout]     |                            -----    ^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                            |        |                    |
[INFO] [stdout]     |                            |        |                    this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     |                            |        |                    up until Edition 2021 `#11` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                            |        |                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                            |        |                    `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            |        this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                            |        up until Edition 2021 `#10` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                            |        `__awaitee` calls a custom destructor
[INFO] [stdout]     |                            |        `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            `event` calls a custom destructor
[INFO] [stdout]     |                            `event` will be dropped later as of Edition 2024
[INFO] [stdout]  13 |                 match event {
[INFO] [stdout]  14 |                     ScyllaEvent::Children(scylla_child) => {
[INFO] [stdout]     |                                           ------------
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           `scylla_child` calls a custom destructor
[INFO] [stdout]     |                                           `scylla_child` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  20 |                                 self.response_to_sockets(&socket_msg).await;
[INFO] [stdout]     |                                 -------------------------------------------
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                 `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  41 |                                 self.response_to_sockets(&socket_msg).await;
[INFO] [stdout]     |                                 -------------------------------------------
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                 `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  45 |                             ScyllaChild::Websocket(microservice, opt_ws_tx) => {
[INFO] [stdout]     |                                                                  ---------
[INFO] [stdout]     |                                                                  |
[INFO] [stdout]     |                                                                  `opt_ws_tx` calls a custom destructor
[INFO] [stdout]     |                                                                  `opt_ws_tx` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  49 |                                         self.websockets.insert(microservice.name, tx);
[INFO] [stdout]     |                                         ---------------------------------------------
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                         `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  53 |                                     if let Some(mut ws_tx) = self.websockets.remove(&microservice.name) {
[INFO] [stdout]     |                                                 ---------
[INFO] [stdout]     |                                                 |
[INFO] [stdout]     |                                                 `ws_tx` calls a custom destructor
[INFO] [stdout]     |                                                 `ws_tx` will be dropped later as of Edition 2024
[INFO] [stdout]  54 |                                         // make sure to close the websocket stream (optional)
[INFO] [stdout]  55 |                                         ws_tx.close().await.ok();
[INFO] [stdout]     |                                                       -----
[INFO] [stdout]     |                                                       |
[INFO] [stdout]     |                                                       this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                                                       `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  63 |                         self.response_to_sockets(&socket_msg).await;
[INFO] [stdout]     |                         -------------------------------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                         `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  66 |                         self.response_to_sockets(&service_socket_msg).await;
[INFO] [stdout]     |                         ---------------------------------------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                         `#7` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  92 |                                                 let _ = ws.close().await;
[INFO] [stdout]     |                                                         ----------------
[INFO] [stdout]     |                                                         |          |
[INFO] [stdout]     |                                                         |          this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                                                         |          `#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                                         this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                                                         `#8` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 112 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.17/src/lock/bilock.rs:190:1
[INFO] [stdout]     |
[INFO] [stdout] 190 | impl<T> Drop for Inner<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.17/src/lock/bilock.rs:190:1
[INFO] [stdout]     |
[INFO] [stdout] 190 | impl<T> Drop for Inner<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `event` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.17/src/lock/bilock.rs:190:1
[INFO] [stdout]     |
[INFO] [stdout] 190 | impl<T> Drop for Inner<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `scylla_child` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.17/src/lock/bilock.rs:190:1
[INFO] [stdout]     |
[INFO] [stdout] 190 | impl<T> Drop for Inner<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `opt_ws_tx` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.17/src/lock/bilock.rs:190:1
[INFO] [stdout]     |
[INFO] [stdout] 190 | impl<T> Drop for Inner<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.17/src/lock/bilock.rs:190:1
[INFO] [stdout]     |
[INFO] [stdout] 190 | impl<T> Drop for Inner<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `ws_tx` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.17/src/lock/bilock.rs:190:1
[INFO] [stdout]     |
[INFO] [stdout] 190 | impl<T> Drop for Inner<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#8` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#9` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/app/cluster/event_loop.rs:14:37
[INFO] [stdout]     |
[INFO] [stdout]  14 |               while let Some(event) = self.inbox.rx.recv().await {
[INFO] [stdout]     |                              -----    ^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                              |        |                    |
[INFO] [stdout]     |                              |        |                    this value will be stored in a temporary; let us call it `#28`
[INFO] [stdout]     |                              |        |                    up until Edition 2021 `#28` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                              |        |                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                              |        |                    `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                              |        this value will be stored in a temporary; let us call it `#27`
[INFO] [stdout]     |                              |        up until Edition 2021 `#27` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                              |        `__awaitee` calls a custom destructor
[INFO] [stdout]     |                              |        `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                              `event` calls a custom destructor
[INFO] [stdout]     |                              `event` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  36 |                           let _ = supervisor.send(event);
[INFO] [stdout]     |                                   ----------------------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                   `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  44 |                               let _ = supervisor.send(event);
[INFO] [stdout]     |                                       ----------------------
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                       `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  55 |                           match cql.await {
[INFO] [stdout]     |                                 ---------
[INFO] [stdout]     |                                 |   |
[INFO] [stdout]     |                                 |   this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                                 |   `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                 this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                 `#4` will be dropped later as of Edition 2024
[INFO] [stdout]  56 |                               Ok(mut cqlconn) => {
[INFO] [stdout]     |                                  -----------
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  `cqlconn` calls a custom destructor
[INFO] [stdout]     |                                  `cqlconn` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  87 |                                       self.nodes.insert(address, node_info);
[INFO] [stdout]     |                                       -------------------------------------
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                                       `#6` will be dropped later as of Edition 2024
[INFO] [stdout]  88 |                                       tokio::spawn(node.start(self.handle.clone()));
[INFO] [stdout]     |                                       ---------------------------------------------
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                                       `#7` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  95 |                                   let _ = supervisor.send(event);
[INFO] [stdout]     |                                           ----------------------
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                                           `#8` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 101 |                           match self.nodes.remove(&address) { Some(mut node_info) => {
[INFO] [stdout]     |                                 ---------------------------        -------------
[INFO] [stdout]     |                                 |                                  |
[INFO] [stdout]     |                                 |                                  `node_info` calls a custom destructor
[INFO] [stdout]     |                                 |                                  `node_info` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                 this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                                 `#9` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 107 |                                   self.registry.remove(&node_info.address);
[INFO] [stdout]     |                                   ----------------------------------------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                                   `#10` will be dropped later as of Edition 2024
[INFO] [stdout] 108 |                               }
[INFO] [stdout] 109 |                               node_info.node_handle.shutdown();
[INFO] [stdout]     |                               --------------------------------
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     |                               `#11` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 118 |                               let _ = supervisor.send(event);
[INFO] [stdout]     |                                       ----------------------
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]     |                                       `#12` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 121 |                       ClusterEvent::RegisterReporters(microservice, reporters_handles) => {
[INFO] [stdout]     |                                                                     -----------------
[INFO] [stdout]     |                                                                     |
[INFO] [stdout]     |                                                                     `reporters_handles` calls a custom destructor
[INFO] [stdout]     |                                                                     `reporters_handles` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 132 |                               let _ = supervisor.send(event);
[INFO] [stdout]     |                                       ----------------------
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]     |                                       `#13` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 146 |                                   let (new_arc_ring, old_weak_ring) = initialize_ring(version, true);
[INFO] [stdout]     |                                                      -------------    ------------------------------
[INFO] [stdout]     |                                                      |                |
[INFO] [stdout]     |                                                      |                this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]     |                                                      |                `#14` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                                      `old_weak_ring` calls a custom destructor
[INFO] [stdout]     |                                                      `old_weak_ring` will be dropped later as of Edition 2024
[INFO] [stdout] 147 |                                   self.arc_ring.replace(new_arc_ring);
[INFO] [stdout]     |                                   -----------------------------------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   this value will be stored in a temporary; let us call it `#15`
[INFO] [stdout]     |                                   `#15` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 152 |                                   let (new_arc_ring, old_weak_ring) = build_ring(
[INFO] [stdout]     |  _____________________________________________________________________-
[INFO] [stdout] 153 | |                                     &mut self.data_centers,
[INFO] [stdout] 154 | |                                     &self.nodes,
[INFO] [stdout] 155 | |                                     self.registry.clone(),
[INFO] [stdout] ...   |
[INFO] [stdout] 158 | |                                     version,
[INFO] [stdout] 159 | |                                 );
[INFO] [stdout]     | |                                 -
[INFO] [stdout]     | |                                 |
[INFO] [stdout]     | |_________________________________this value will be stored in a temporary; let us call it `#16`
[INFO] [stdout]     |                                   `#16` will be dropped later as of Edition 2024
[INFO] [stdout] 160 |                                   // replace self.arc_ring
[INFO] [stdout] 161 |                                   self.arc_ring.replace(new_arc_ring);
[INFO] [stdout]     |                                   -----------------------------------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   this value will be stored in a temporary; let us call it `#17`
[INFO] [stdout]     |                                   `#17` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 171 |                               let _ = supervisor.send(event);
[INFO] [stdout]     |                                       ----------------------
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       this value will be stored in a temporary; let us call it `#18`
[INFO] [stdout]     |                                       `#18` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 175 |                               let _ = supervisor.send(event);
[INFO] [stdout]     |                                       ----------------------
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       this value will be stored in a temporary; let us call it `#19`
[INFO] [stdout]     |                                       `#19` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 182 |                           for (_, mut node_info) in self.nodes.drain() {
[INFO] [stdout]     |                                   -------------     ------------------
[INFO] [stdout]     |                                   |                 |
[INFO] [stdout]     |                                   |                 `iter` calls a custom destructor
[INFO] [stdout]     |                                   |                 `iter` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                   |                 this value will be stored in a temporary; let us call it `#20`
[INFO] [stdout]     |                                   |                 `#20` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                   this value will be stored in a temporary; let us call it `#21`
[INFO] [stdout]     |                                   `#21` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 187 |                                   self.registry.remove(&node_info.address);
[INFO] [stdout]     |                                   ----------------------------------------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   this value will be stored in a temporary; let us call it `#22`
[INFO] [stdout]     |                                   `#22` will be dropped later as of Edition 2024
[INFO] [stdout] 188 |                               }
[INFO] [stdout] 189 |                               node_info.node_handle.shutdown();
[INFO] [stdout]     |                               --------------------------------
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#23`
[INFO] [stdout]     |                               `#23` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 193 |                           let (new_arc_ring, old_weak_ring) = initialize_ring(version, true);
[INFO] [stdout]     |                                              -------------    ------------------------------
[INFO] [stdout]     |                                              |                |
[INFO] [stdout]     |                                              |                this value will be stored in a temporary; let us call it `#25`
[INFO] [stdout]     |                                              |                `#25` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                              this value will be stored in a temporary; let us call it `#24`
[INFO] [stdout]     |                                              `#24` will be dropped later as of Edition 2024
[INFO] [stdout] 194 |                           self.arc_ring.replace(new_arc_ring);
[INFO] [stdout]     |                           -----------------------------------
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#26`
[INFO] [stdout]     |                           `#26` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 205 |               }
[INFO] [stdout]     |               - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#27` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/sync/mpsc/chan.rs:182:1
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/sync/mpsc/chan.rs:182:1
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `event` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/sync/mpsc/chan.rs:182:1
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.17/src/lock/bilock.rs:190:1
[INFO] [stdout]     |
[INFO] [stdout] 190 | impl<T> Drop for Inner<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.17/src/lock/bilock.rs:190:1
[INFO] [stdout]     |
[INFO] [stdout] 190 | impl<T> Drop for Inner<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.44/src/error.rs:565:1
[INFO] [stdout]     |
[INFO] [stdout] 565 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/io/poll_evented.rs:202:1
[INFO] [stdout]     |
[INFO] [stdout] 202 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cqlconn` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/io/poll_evented.rs:202:1
[INFO] [stdout]     |
[INFO] [stdout] 202 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/sync/mpsc/chan.rs:182:1
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/runtime/task/join.rs:242:1
[INFO] [stdout]     |
[INFO] [stdout] 242 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.17/src/lock/bilock.rs:190:1
[INFO] [stdout]     |
[INFO] [stdout] 190 | impl<T> Drop for Inner<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/sync/mpsc/chan.rs:182:1
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `node_info` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/sync/mpsc/chan.rs:182:1
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/sync/mpsc/chan.rs:182:1
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/sync/mpsc/chan.rs:182:1
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.17/src/lock/bilock.rs:190:1
[INFO] [stdout]     |
[INFO] [stdout] 190 | impl<T> Drop for Inner<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `reporters_handles` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/sync/mpsc/chan.rs:182:1
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#13` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.17/src/lock/bilock.rs:190:1
[INFO] [stdout]     |
[INFO] [stdout] 190 | impl<T> Drop for Inner<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `old_weak_ring` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/sync.rs:3472:0
[INFO] [stdout] note: `#14` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/sync.rs:3472:0
[INFO] [stdout]     = note: `#14` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#14` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/sync/mpsc/chan.rs:182:1
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#15` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#15` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/sync/mpsc/chan.rs:182:1
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#16` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/sync.rs:3472:0
[INFO] [stdout]     = note: `#16` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#16` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/sync/mpsc/chan.rs:182:1
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#17` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#17` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/sync/mpsc/chan.rs:182:1
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#18` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.17/src/lock/bilock.rs:190:1
[INFO] [stdout]     |
[INFO] [stdout] 190 | impl<T> Drop for Inner<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#19` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.17/src/lock/bilock.rs:190:1
[INFO] [stdout]     |
[INFO] [stdout] 190 | impl<T> Drop for Inner<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/sync/mpsc/chan.rs:182:1
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#20` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/sync/mpsc/chan.rs:182:1
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#21` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/sync/mpsc/chan.rs:182:1
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#22` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/sync/mpsc/chan.rs:182:1
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#23` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/sync/mpsc/chan.rs:182:1
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#24` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/sync.rs:3472:0
[INFO] [stdout] note: `#25` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/sync.rs:3472:0
[INFO] [stdout]     = note: `#25` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#25` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/sync/mpsc/chan.rs:182:1
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#26` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#26` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/sync/mpsc/chan.rs:182:1
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/app/listener/event_loop.rs:21:44
[INFO] [stdout]     |
[INFO] [stdout]  19 |                 if let Ok((socket, peer)) = self.tcp_listener.accept().await {
[INFO] [stdout]     |                                             --------------------------------
[INFO] [stdout]     |                                             |                          |
[INFO] [stdout]     |                                             |                          this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                             |                          `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                             `__awaitee` calls a custom destructor
[INFO] [stdout]     |                                             `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]  20 |                     let peer = socket.peer_addr().unwrap_or(peer);
[INFO] [stdout]  21 |                     if let Ok(ws_stream) = accept_async(socket).await {
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                            |                    |
[INFO] [stdout]     |                                            |                    this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                                            |                    up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                            |                    this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                            |                    `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                            this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                                            up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                            this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                            `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  25 |                         tokio::spawn(websocket.start(supervisor.clone()));
[INFO] [stdout]     |                         -------------------------------------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                         `#4` will be dropped later as of Edition 2024
[INFO] [stdout]  26 |                     }
[INFO] [stdout]  27 |                 }
[INFO] [stdout]     |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/io/poll_evented.rs:202:1
[INFO] [stdout]     |
[INFO] [stdout] 202 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/io/poll_evented.rs:202:1
[INFO] [stdout]     |
[INFO] [stdout] 202 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/io/poll_evented.rs:202:1
[INFO] [stdout]     |
[INFO] [stdout] 202 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/runtime/task/join.rs:242:1
[INFO] [stdout]     |
[INFO] [stdout] 242 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/app/listener/event_loop.rs:19:45
[INFO] [stdout]     |
[INFO] [stdout]  19 |                 if let Ok((socket, peer)) = self.tcp_listener.accept().await {
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                             |                          |
[INFO] [stdout]     |                                             |                          this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                                             |                          up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                             |                          this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                             |                          `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                             this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                                             up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                             `__awaitee` calls a custom destructor
[INFO] [stdout]     |                                             `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]  20 |                     let peer = socket.peer_addr().unwrap_or(peer);
[INFO] [stdout]  21 |                     if let Ok(ws_stream) = accept_async(socket).await {
[INFO] [stdout]     |                                            --------------------------
[INFO] [stdout]     |                                            |                    |
[INFO] [stdout]     |                                            |                    this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                            |                    `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                            this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                            `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  25 |                         tokio::spawn(websocket.start(supervisor.clone()));
[INFO] [stdout]     |                         -------------------------------------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                         `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  28 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/io/poll_evented.rs:202:1
[INFO] [stdout]     |
[INFO] [stdout] 202 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/io/poll_evented.rs:202:1
[INFO] [stdout]     |
[INFO] [stdout] 202 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/io/poll_evented.rs:202:1
[INFO] [stdout]     |
[INFO] [stdout] 202 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/runtime/task/join.rs:242:1
[INFO] [stdout]     |
[INFO] [stdout] 242 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/app/node/event_loop.rs:27:70
[INFO] [stdout]     |
[INFO] [stdout]  14 |             while let Some(event) = self.inbox.rx.recv().await {
[INFO] [stdout]     |                            -----    --------------------------
[INFO] [stdout]     |                            |        |                    |
[INFO] [stdout]     |                            |        |                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                            |        |                    `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            |        `__awaitee` calls a custom destructor
[INFO] [stdout]     |                            |        `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            `event` calls a custom destructor
[INFO] [stdout]     |                            `event` will be dropped later as of Edition 2024
[INFO] [stdout]  15 |                 match event {
[INFO] [stdout]  16 |                     NodeEvent::RegisterReporters(microservice, reporters_handles) => {
[INFO] [stdout]     |                                                                -----------------
[INFO] [stdout]     |                                                                |
[INFO] [stdout]     |                                                                `reporters_handles` calls a custom destructor
[INFO] [stdout]     |                                                                `reporters_handles` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  23 |                                 reporters_handles_ref.insert(socket_addr, reporters_handles);
[INFO] [stdout]     |                                 ------------------------------------------------------------
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                 `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  27 |                                     if let Some(reporters_handles) = self.reporters_handles.take() {
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                                                      up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  32 |                                 } else {
[INFO] [stdout]     |                                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout]  68 |                         for (_, stage) in self.stages.drain() {
[INFO] [stdout]     |                                 -----     -------------------
[INFO] [stdout]     |                                 |         |
[INFO] [stdout]     |                                 |         `iter` calls a custom destructor
[INFO] [stdout]     |                                 |         `iter` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                 |         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                 |         `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                 `stage` calls a custom destructor
[INFO] [stdout]     |                                 `stage` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/sync/mpsc/chan.rs:182:1
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/sync/mpsc/chan.rs:182:1
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `event` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/sync/mpsc/chan.rs:182:1
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `reporters_handles` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/sync/mpsc/chan.rs:182:1
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/sync/mpsc/chan.rs:182:1
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/sync/mpsc/chan.rs:182:1
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/sync/mpsc/chan.rs:182:1
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `stage` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/sync/mpsc/chan.rs:182:1
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/app/node/event_loop.rs:14:37
[INFO] [stdout]     |
[INFO] [stdout]  14 |             while let Some(event) = self.inbox.rx.recv().await {
[INFO] [stdout]     |                            -----    ^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                            |        |                    |
[INFO] [stdout]     |                            |        |                    this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                            |        |                    up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                            |        |                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                            |        |                    `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            |        this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                            |        up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                            |        `__awaitee` calls a custom destructor
[INFO] [stdout]     |                            |        `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            `event` calls a custom destructor
[INFO] [stdout]     |                            `event` will be dropped later as of Edition 2024
[INFO] [stdout]  15 |                 match event {
[INFO] [stdout]  16 |                     NodeEvent::RegisterReporters(microservice, reporters_handles) => {
[INFO] [stdout]     |                                                                -----------------
[INFO] [stdout]     |                                                                |
[INFO] [stdout]     |                                                                `reporters_handles` calls a custom destructor
[INFO] [stdout]     |                                                                `reporters_handles` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  23 |                                 reporters_handles_ref.insert(socket_addr, reporters_handles);
[INFO] [stdout]     |                                 ------------------------------------------------------------
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                 `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  68 |                         for (_, stage) in self.stages.drain() {
[INFO] [stdout]     |                                 -----     -------------------
[INFO] [stdout]     |                                 |         |
[INFO] [stdout]     |                                 |         `iter` calls a custom destructor
[INFO] [stdout]     |                                 |         `iter` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                 |         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                 |         `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                 `stage` calls a custom destructor
[INFO] [stdout]     |                                 `stage` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  80 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/sync/mpsc/chan.rs:182:1
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/sync/mpsc/chan.rs:182:1
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `event` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/sync/mpsc/chan.rs:182:1
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `reporters_handles` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/sync/mpsc/chan.rs:182:1
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/sync/mpsc/chan.rs:182:1
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/sync/mpsc/chan.rs:182:1
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/sync/mpsc/chan.rs:182:1
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `stage` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/sync/mpsc/chan.rs:182:1
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/app/node/init.rs:24:23
[INFO] [stdout]     |
[INFO] [stdout]  15 |                 let stage = StageBuilder::new()
[INFO] [stdout]     |                     -----
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `stage` calls a custom destructor
[INFO] [stdout]     |                     `stage` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  24 |                 match stage.clone_handle() { Some(stage_handle) => {
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                       up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  31 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/sync/mpsc/chan.rs:182:1
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `stage` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/sync/mpsc/chan.rs:316:1
[INFO] [stdout]     |
[INFO] [stdout] 316 | impl<T, S: Semaphore> Drop for Rx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `stage` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/sync/mpsc/chan.rs:182:1
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `stage` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/sync/mpsc/chan.rs:182:1
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/app/stage/init.rs:39:31
[INFO] [stdout]     |
[INFO] [stdout]  30 |                         let reporter = ReporterBuilder::new()
[INFO] [stdout]     |                             --------
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             `reporter` calls a custom destructor
[INFO] [stdout]     |                             `reporter` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  39 |                         match reporter.clone_handle() { Some(reporter_handle) => {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  50 |                     } else {
[INFO] [stdout]     |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/sync/mpsc/chan.rs:182:1
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `reporter` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/sync/mpsc/chan.rs:316:1
[INFO] [stdout]     |
[INFO] [stdout] 316 | impl<T, S: Semaphore> Drop for Rx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `reporter` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/sync/mpsc/chan.rs:182:1
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `reporter` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/sync/mpsc/chan.rs:182:1
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `reporter` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/app/stage/reporter/event_loop.rs:14:37
[INFO] [stdout]     |
[INFO] [stdout]  14 |             while let Some(event) = self.inbox.rx.recv().await {
[INFO] [stdout]     |                            -----    ^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                            |        |                    |
[INFO] [stdout]     |                            |        |                    this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                            |        |                    up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                            |        |                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                            |        |                    `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            |        this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                            |        up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                            |        `__awaitee` calls a custom destructor
[INFO] [stdout]     |                            |        `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            `event` calls a custom destructor
[INFO] [stdout]     |                            `event` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  26 |                                     self.workers.insert(stream, worker);
[INFO] [stdout]     |                                     -----------------------------------
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                     `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  51 |                     ReporterEvent::Session(session) => {
[INFO] [stdout]     |                                            -------
[INFO] [stdout]     |                                            |
[INFO] [stdout]     |                                            `session` calls a custom destructor
[INFO] [stdout]     |                                            `session` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 122 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/sync/mpsc/chan.rs:182:1
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.44/src/error.rs:565:1
[INFO] [stdout]     |
[INFO] [stdout] 565 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/sync/mpsc/chan.rs:182:1
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.44/src/error.rs:565:1
[INFO] [stdout]     |
[INFO] [stdout] 565 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `event` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/sync/mpsc/chan.rs:182:1
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `event` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.44/src/error.rs:565:1
[INFO] [stdout]     |
[INFO] [stdout] 565 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `event` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `session` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/sync/mpsc/chan.rs:182:1
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> src/app/stage/sender/event_loop.rs:19:62
[INFO] [stdout]    |
[INFO] [stdout] 19 |             while let Some(stream_id) = self.inbox.rx.recv().await {
[INFO] [stdout]    |                                         ---------------------^^^^^
[INFO] [stdout]    |                                         |                    |
[INFO] [stdout]    |                                         |                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]    |                                         |                    up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]    |                                         `__awaitee` calls a custom destructor
[INFO] [stdout]    |                                         `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 37 |             }
[INFO] [stdout]    |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]    |
[INFO] [stdout]    = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/app/websocket/event_loop.rs:20:39
[INFO] [stdout]     |
[INFO] [stdout]  20 |             while let Some(Ok(msg)) = self.ws_rx.next().await {
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                       |                 |
[INFO] [stdout]     |                                       |                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                       |                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                       this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                       up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  23 |                         let apps_events: H::AppsEvents = serde_json::from_str(&msg_txt).map_err(|_| Need::Abort)?;
[INFO] [stdout]     |                                                          --------------------------------------------------------
[INFO] [stdout]     |                                                          |
[INFO] [stdout]     |                                                          this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                                          `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  34 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/app/ring/mod.rs:137:39
[INFO] [stdout]     |
[INFO] [stdout] 137 |                         Weak::upgrade(GLOBAL_RING.as_ref().unwrap().load(Ordering::Relaxed).as_ref().unwrap())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: `--force-warn static-mut-refs` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout]  79 - static mut GLOBAL_RING: Option<AtomicRing> = None;
[INFO] [stdout]  79 + static GLOBAL_RING: Option<AtomicRing> = None;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/app/ring/mod.rs:160:35
[INFO] [stdout]     |
[INFO] [stdout] 160 |                     Weak::upgrade(GLOBAL_RING.as_ref().unwrap().load(Ordering::Relaxed).as_ref().unwrap())
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout]  79 - static mut GLOBAL_RING: Option<AtomicRing> = None;
[INFO] [stdout]  79 + static GLOBAL_RING: Option<AtomicRing> = None;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/app/ring/mod.rs:251:32
[INFO] [stdout]     |
[INFO] [stdout] 251 |                 let old_weak = GLOBAL_RING.as_mut().unwrap().swap(raw_box, Ordering::Relaxed);
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout]  79 - static mut GLOBAL_RING: Option<AtomicRing> = None;
[INFO] [stdout]  79 + static GLOBAL_RING: Option<AtomicRing> = None;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/app/ring/mod.rs:607:24
[INFO] [stdout]     |
[INFO] [stdout] 607 |         let old_weak = GLOBAL_RING.as_mut().unwrap().swap(raw_box, Ordering::Relaxed);
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout]  79 - static mut GLOBAL_RING: Option<AtomicRing> = None;
[INFO] [stdout]  79 + static GLOBAL_RING: Option<AtomicRing> = None;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/cql/connection/cql.rs:292:31
[INFO] [stdout]     |
[INFO] [stdout] 292 |                         match self.connect().await {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                               |              |
[INFO] [stdout]     |                               |              this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                               |              up until Edition 2021 `#7` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                               |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                               |              `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                               up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                               `__awaitee` calls a custom destructor
[INFO] [stdout]     |                               `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] 293 |                             Ok(_) => {
[INFO] [stdout] 294 |                                 let mut cqlconn = self.cql.take().ok_or_else(|| anyhow!("No CQL connection!"))?;
[INFO] [stdout]     |                                     -----------   -------------------------------------------------------------
[INFO] [stdout]     |                                     |             |
[INFO] [stdout]     |                                     |             this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                     |             `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                     `cqlconn` calls a custom destructor
[INFO] [stdout]     |                                     `cqlconn` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 297 |                                         cqlconn.fetch_tokens().await?;
[INFO] [stdout]     |                                         -----------------------------
[INFO] [stdout]     |                                         |                      |
[INFO] [stdout]     |                                         |                      this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                                         |                      `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                         `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                         this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                         `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 317 |                     }
[INFO] [stdout]     |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.44/src/error.rs:565:1
[INFO] [stdout]     |
[INFO] [stdout] 565 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.44/src/error.rs:565:1
[INFO] [stdout]     |
[INFO] [stdout] 565 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cqlconn` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/io/poll_evented.rs:202:1
[INFO] [stdout]     |
[INFO] [stdout] 202 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.44/src/error.rs:565:1
[INFO] [stdout]     |
[INFO] [stdout] 565 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/io/poll_evented.rs:202:1
[INFO] [stdout]     |
[INFO] [stdout] 202 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.44/src/error.rs:565:1
[INFO] [stdout]     |
[INFO] [stdout] 565 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.44/src/error.rs:565:1
[INFO] [stdout]     |
[INFO] [stdout] 565 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/app/websocket/client/add_nodes.rs:21:31
[INFO] [stdout]     |
[INFO] [stdout]  21 |         while let Some(msg) = ws_stream.next().await {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                               |                |
[INFO] [stdout]     |                               |                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                               |                `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                               up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  22 |             let msg = msg.map_err(|_| anyhow!("Expected message from the WebSocketStream while building a ring"))?;
[INFO] [stdout]     |                       --------------------------------------------------------------------------------------------
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                       `#2` will be dropped later as of Edition 2024
[INFO] [stdout]  23 |             let msg = msg.to_text()?;
[INFO] [stdout]     |                       --------------
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                       `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  31 |                     ws_stream.close(None).await?;
[INFO] [stdout]     |                     ----------------------------
[INFO] [stdout]     |                     |                     |
[INFO] [stdout]     |                     |                     this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                     |                     `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     |                     this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                     `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |                     `__awaitee` calls a custom destructor
[INFO] [stdout]     |                     `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  37 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.44/src/error.rs:565:1
[INFO] [stdout]     |
[INFO] [stdout] 565 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating examples/scylla.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/app/websocket/client/add_nodes.rs:21:31
[INFO] [stdout]     |
[INFO] [stdout]  17 |         let j = serde_json::to_string(&msg).map_err(|_| anyhow!("Invalid AddNode event"))?;
[INFO] [stdout]     |                 --------------------------------------------------------------------------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout]  18 |         let m = Message::text(j);
[INFO] [stdout]  19 |         ws_stream.send(m).await?;
[INFO] [stdout]     |         ------------------------
[INFO] [stdout]     |         |                 |
[INFO] [stdout]     |         |                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |         |                 `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |         `#2` will be dropped later as of Edition 2024
[INFO] [stdout]  20 |         // await till the node is added
[INFO] [stdout]  21 |         while let Some(msg) = ws_stream.next().await {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                               |                |
[INFO] [stdout]     |                               |                this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                               |                `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                               up until Edition 2021 `#9` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  22 |             let msg = msg.map_err(|_| anyhow!("Expected message from the WebSocketStream while building a ring"))?;
[INFO] [stdout]     |                       --------------------------------------------------------------------------------------------
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                       `#5` will be dropped later as of Edition 2024
[INFO] [stdout]  23 |             let msg = msg.to_text()?;
[INFO] [stdout]     |                       --------------
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                       `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  31 |                     ws_stream.close(None).await?;
[INFO] [stdout]     |                     ----------------------------
[INFO] [stdout]     |                     |                     |
[INFO] [stdout]     |                     |                     this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                     |                     `#8` will be dropped later as of Edition 2024
[INFO] [stdout]     |                     this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                     `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     |                     `__awaitee` calls a custom destructor
[INFO] [stdout]     |                     `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  37 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#9` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.44/src/error.rs:565:1
[INFO] [stdout]     |
[INFO] [stdout] 565 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.44/src/error.rs:565:1
[INFO] [stdout]     |
[INFO] [stdout] 565 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#8` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/app/websocket/client/add_nodes.rs:46:27
[INFO] [stdout]     |
[INFO] [stdout]  46 |     while let Some(msg) = ws_stream.next().await {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                           |                |
[INFO] [stdout]     |                           |                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                           |                `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                           up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  47 |         let msg = msg.map_err(|_| anyhow!("Expected message from the WebSocketStream while building a ring"))?;
[INFO] [stdout]     |                   --------------------------------------------------------------------------------------------
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                   `#2` will be dropped later as of Edition 2024
[INFO] [stdout]  48 |         let msg = msg.to_text()?;
[INFO] [stdout]     |                   --------------
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                   `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  72 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.44/src/error.rs:565:1
[INFO] [stdout]     |
[INFO] [stdout] 565 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/app/application/event_loop.rs:53:62
[INFO] [stdout]     |
[INFO] [stdout]  12 |             while let Some(event) = self.inbox.rx.recv().await {
[INFO] [stdout]     |                            -----    --------------------------
[INFO] [stdout]     |                            |        |                    |
[INFO] [stdout]     |                            |        |                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                            |        |                    `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            |        `__awaitee` calls a custom destructor
[INFO] [stdout]     |                            |        `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            `event` calls a custom destructor
[INFO] [stdout]     |                            `event` will be dropped later as of Edition 2024
[INFO] [stdout]  13 |                 match event {
[INFO] [stdout]  14 |                     ScyllaEvent::Children(scylla_child) => {
[INFO] [stdout]     |                                           ------------
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           `scylla_child` calls a custom destructor
[INFO] [stdout]     |                                           `scylla_child` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  20 |                                 self.response_to_sockets(&socket_msg).await;
[INFO] [stdout]     |                                 -------------------------------------------
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                 `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  41 |                                 self.response_to_sockets(&socket_msg).await;
[INFO] [stdout]     |                                 -------------------------------------------
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                 `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  45 |                             ScyllaChild::Websocket(microservice, opt_ws_tx) => {
[INFO] [stdout]     |                                                                  ---------
[INFO] [stdout]     |                                                                  |
[INFO] [stdout]     |                                                                  `opt_ws_tx` calls a custom destructor
[INFO] [stdout]     |                                                                  `opt_ws_tx` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  49 |                                         self.websockets.insert(microservice.name, tx);
[INFO] [stdout]     |                                         ---------------------------------------------
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                         `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  53 |                                     if let Some(mut ws_tx) = self.websockets.remove(&microservice.name) {
[INFO] [stdout]     |                                                 ---------    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                 |            |
[INFO] [stdout]     |                                                 |            this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                                                 |            up until Edition 2021 `#10` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                                 `ws_tx` calls a custom destructor
[INFO] [stdout]     |                                                 `ws_tx` will be dropped later as of Edition 2024
[INFO] [stdout]  54 |                                         // make sure to close the websocket stream (optional)
[INFO] [stdout]  55 |                                         ws_tx.close().await.ok();
[INFO] [stdout]     |                                                       -----
[INFO] [stdout]     |                                                       |
[INFO] [stdout]     |                                                       this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                                                       `#5` will be dropped later as of Edition 2024
[INFO] [stdout]  56 |                                     }
[INFO] [stdout]  57 |                                 }
[INFO] [stdout]     |                                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout]  63 |                         self.response_to_sockets(&socket_msg).await;
[INFO] [stdout]     |                         -------------------------------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                         `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  66 |                         self.response_to_sockets(&service_socket_msg).await;
[INFO] [stdout]     |                         ---------------------------------------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                         `#7` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  92 |                                                 let _ = ws.close().await;
[INFO] [stdout]     |                                                         ----------------
[INFO] [stdout]     |                                                         |          |
[INFO] [stdout]     |                                                         |          this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                                                         |          `#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                                         this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                                                         `#8` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.17/src/lock/bilock.rs:190:1
[INFO] [stdout]     |
[INFO] [stdout] 190 | impl<T> Drop for Inner<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.17/src/lock/bilock.rs:190:1
[INFO] [stdout]     |
[INFO] [stdout] 190 | impl<T> Drop for Inner<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `event` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.17/src/lock/bilock.rs:190:1
[INFO] [stdout]     |
[INFO] [stdout] 190 | impl<T> Drop for Inner<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `scylla_child` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.17/src/lock/bilock.rs:190:1
[INFO] [stdout]     |
[INFO] [stdout] 190 | impl<T> Drop for Inner<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `opt_ws_tx` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.17/src/lock/bilock.rs:190:1
[INFO] [stdout]     |
[INFO] [stdout] 190 | impl<T> Drop for Inner<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.17/src/lock/bilock.rs:190:1
[INFO] [stdout]     |
[INFO] [stdout] 190 | impl<T> Drop for Inner<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `ws_tx` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.17/src/lock/bilock.rs:190:1
[INFO] [stdout]     |
[INFO] [stdout] 190 | impl<T> Drop for Inner<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#8` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#9` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/app/application/event_loop.rs:98:61
[INFO] [stdout]     |
[INFO] [stdout]  12 |             while let Some(event) = self.inbox.rx.recv().await {
[INFO] [stdout]     |                            -----    --------------------------
[INFO] [stdout]     |                            |        |                    |
[INFO] [stdout]     |                            |        |                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                            |        |                    `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            |        `__awaitee` calls a custom destructor
[INFO] [stdout]     |                            |        `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            `event` calls a custom destructor
[INFO] [stdout]     |                            `event` will be dropped later as of Edition 2024
[INFO] [stdout]  13 |                 match event {
[INFO] [stdout]  14 |                     ScyllaEvent::Children(scylla_child) => {
[INFO] [stdout]     |                                           ------------
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           `scylla_child` calls a custom destructor
[INFO] [stdout]     |                                           `scylla_child` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  20 |                                 self.response_to_sockets(&socket_msg).await;
[INFO] [stdout]     |                                 -------------------------------------------
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                 `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  41 |                                 self.response_to_sockets(&socket_msg).await;
[INFO] [stdout]     |                                 -------------------------------------------
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                 `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  45 |                             ScyllaChild::Websocket(microservice, opt_ws_tx) => {
[INFO] [stdout]     |                                                                  ---------
[INFO] [stdout]     |                                                                  |
[INFO] [stdout]     |                                                                  `opt_ws_tx` calls a custom destructor
[INFO] [stdout]     |                                                                  `opt_ws_tx` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  49 |                                         self.websockets.insert(microservice.name, tx);
[INFO] [stdout]     |                                         ---------------------------------------------
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                         `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  53 |                                     if let Some(mut ws_tx) = self.websockets.remove(&microservice.name) {
[INFO] [stdout]     |                                                 ---------
[INFO] [stdout]     |                                                 |
[INFO] [stdout]     |                                                 `ws_tx` calls a custom destructor
[INFO] [stdout]     |                                                 `ws_tx` will be dropped later as of Edition 2024
[INFO] [stdout]  54 |                                         // make sure to close the websocket stream (optional)
[INFO] [stdout]  55 |                                         ws_tx.close().await.ok();
[INFO] [stdout]     |                                                       -----
[INFO] [stdout]     |                                                       |
[INFO] [stdout]     |                                                       this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                                                       `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  63 |                         self.response_to_sockets(&socket_msg).await;
[INFO] [stdout]     |                         -------------------------------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                         `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  66 |                         self.response_to_sockets(&service_socket_msg).await;
[INFO] [stdout]     |                         ---------------------------------------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                         `#7` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  92 |                                                 let _ = ws.close().await;
[INFO] [stdout]     |                                                         ----------------
[INFO] [stdout]     |                                                         |          |
[INFO] [stdout]     |                                                         |          this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                                                         |          `#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                                         this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                                                         `#8` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  98 |                                             if let Err(_) = cluster.send(topology.into()) {
[INFO] [stdout]     |                                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                             |
[INFO] [stdout]     |                                                             this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                                                             up until Edition 2021 `#10` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 102 |                                         }
[INFO] [stdout]     |                                         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/sync/mpsc/chan.rs:182:1
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.17/src/lock/bilock.rs:190:1
[INFO] [stdout]     |
[INFO] [stdout] 190 | impl<T> Drop for Inner<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `event` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.17/src/lock/bilock.rs:190:1
[INFO] [stdout]     |
[INFO] [stdout] 190 | impl<T> Drop for Inner<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `scylla_child` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.17/src/lock/bilock.rs:190:1
[INFO] [stdout]     |
[INFO] [stdout] 190 | impl<T> Drop for Inner<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `opt_ws_tx` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.17/src/lock/bilock.rs:190:1
[INFO] [stdout]     |
[INFO] [stdout] 190 | impl<T> Drop for Inner<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.17/src/lock/bilock.rs:190:1
[INFO] [stdout]     |
[INFO] [stdout] 190 | impl<T> Drop for Inner<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `ws_tx` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.17/src/lock/bilock.rs:190:1
[INFO] [stdout]     |
[INFO] [stdout] 190 | impl<T> Drop for Inner<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#8` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#9` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/app/application/event_loop.rs:70:31
[INFO] [stdout]     |
[INFO] [stdout]  12 |             while let Some(event) = self.inbox.rx.recv().await {
[INFO] [stdout]     |                            -----    --------------------------
[INFO] [stdout]     |                            |        |                    |
[INFO] [stdout]     |                            |        |                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                            |        |                    `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            |        `__awaitee` calls a custom destructor
[INFO] [stdout]     |                            |        `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            `event` calls a custom destructor
[INFO] [stdout]     |                            `event` will be dropped later as of Edition 2024
[INFO] [stdout]  13 |                 match event {
[INFO] [stdout]  14 |                     ScyllaEvent::Children(scylla_child) => {
[INFO] [stdout]     |                                           ------------
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           `scylla_child` calls a custom destructor
[INFO] [stdout]     |                                           `scylla_child` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  20 |                                 self.response_to_sockets(&socket_msg).await;
[INFO] [stdout]     |                                 -------------------------------------------
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                 `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  41 |                                 self.response_to_sockets(&socket_msg).await;
[INFO] [stdout]     |                                 -------------------------------------------
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                 `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  45 |                             ScyllaChild::Websocket(microservice, opt_ws_tx) => {
[INFO] [stdout]     |                                                                  ---------
[INFO] [stdout]     |                                                                  |
[INFO] [stdout]     |                                                                  `opt_ws_tx` calls a custom destructor
[INFO] [stdout]     |                                                                  `opt_ws_tx` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  49 |                                         self.websockets.insert(microservice.name, tx);
[INFO] [stdout]     |                                         ---------------------------------------------
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                         `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  53 |                                     if let Some(mut ws_tx) = self.websockets.remove(&microservice.name) {
[INFO] [stdout]     |                                                 ---------
[INFO] [stdout]     |                                                 |
[INFO] [stdout]     |                                                 `ws_tx` calls a custom destructor
[INFO] [stdout]     |                                                 `ws_tx` will be dropped later as of Edition 2024
[INFO] [stdout]  54 |                                         // make sure to close the websocket stream (optional)
[INFO] [stdout]  55 |                                         ws_tx.close().await.ok();
[INFO] [stdout]     |                                                       -----
[INFO] [stdout]     |                                                       |
[INFO] [stdout]     |                                                       this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                                                       `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  63 |                         self.response_to_sockets(&socket_msg).await;
[INFO] [stdout]     |                         -------------------------------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                         `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  66 |                         self.response_to_sockets(&service_socket_msg).await;
[INFO] [stdout]     |                         ---------------------------------------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                         `#7` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  70 |                         match apps_events.try_get_my_event() {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                               up until Edition 2021 `#10` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  92 |                                                 let _ = ws.close().await;
[INFO] [stdout]     |                                                         ----------------
[INFO] [stdout]     |                                                         |          |
[INFO] [stdout]     |                                                         |          this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                                                         |          `#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                                         this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                                                         `#8` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 110 |                     }
[INFO] [stdout]     |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.17/src/lock/bilock.rs:190:1
[INFO] [stdout]     |
[INFO] [stdout] 190 | impl<T> Drop for Inner<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `event` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.17/src/lock/bilock.rs:190:1
[INFO] [stdout]     |
[INFO] [stdout] 190 | impl<T> Drop for Inner<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `scylla_child` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.17/src/lock/bilock.rs:190:1
[INFO] [stdout]     |
[INFO] [stdout] 190 | impl<T> Drop for Inner<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `opt_ws_tx` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.17/src/lock/bilock.rs:190:1
[INFO] [stdout]     |
[INFO] [stdout] 190 | impl<T> Drop for Inner<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.17/src/lock/bilock.rs:190:1
[INFO] [stdout]     |
[INFO] [stdout] 190 | impl<T> Drop for Inner<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `ws_tx` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.17/src/lock/bilock.rs:190:1
[INFO] [stdout]     |
[INFO] [stdout] 190 | impl<T> Drop for Inner<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#8` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#9` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/app/application/event_loop.rs:12:37
[INFO] [stdout]     |
[INFO] [stdout]  12 |             while let Some(event) = self.inbox.rx.recv().await {
[INFO] [stdout]     |                            -----    ^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                            |        |                    |
[INFO] [stdout]     |                            |        |                    this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     |                            |        |                    up until Edition 2021 `#11` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                            |        |                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                            |        |                    `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            |        this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                            |        up until Edition 2021 `#10` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                            |        `__awaitee` calls a custom destructor
[INFO] [stdout]     |                            |        `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            `event` calls a custom destructor
[INFO] [stdout]     |                            `event` will be dropped later as of Edition 2024
[INFO] [stdout]  13 |                 match event {
[INFO] [stdout]  14 |                     ScyllaEvent::Children(scylla_child) => {
[INFO] [stdout]     |                                           ------------
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           `scylla_child` calls a custom destructor
[INFO] [stdout]     |                                           `scylla_child` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  20 |                                 self.response_to_sockets(&socket_msg).await;
[INFO] [stdout]     |                                 -------------------------------------------
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                 `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  41 |                                 self.response_to_sockets(&socket_msg).await;
[INFO] [stdout]     |                                 -------------------------------------------
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                 `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  45 |                             ScyllaChild::Websocket(microservice, opt_ws_tx) => {
[INFO] [stdout]     |                                                                  ---------
[INFO] [stdout]     |                                                                  |
[INFO] [stdout]     |                                                                  `opt_ws_tx` calls a custom destructor
[INFO] [stdout]     |                                                                  `opt_ws_tx` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  49 |                                         self.websockets.insert(microservice.name, tx);
[INFO] [stdout]     |                                         ---------------------------------------------
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                         `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  53 |                                     if let Some(mut ws_tx) = self.websockets.remove(&microservice.name) {
[INFO] [stdout]     |                                                 ---------
[INFO] [stdout]     |                                                 |
[INFO] [stdout]     |                                                 `ws_tx` calls a custom destructor
[INFO] [stdout]     |                                                 `ws_tx` will be dropped later as of Edition 2024
[INFO] [stdout]  54 |                                         // make sure to close the websocket stream (optional)
[INFO] [stdout]  55 |                                         ws_tx.close().await.ok();
[INFO] [stdout]     |                                                       -----
[INFO] [stdout]     |                                                       |
[INFO] [stdout]     |                                                       this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                                                       `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  63 |                         self.response_to_sockets(&socket_msg).await;
[INFO] [stdout]     |                         -------------------------------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                         `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  66 |                         self.response_to_sockets(&service_socket_msg).await;
[INFO] [stdout]     |                         ---------------------------------------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                         `#7` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  92 |                                                 let _ = ws.close().await;
[INFO] [stdout]     |                                                         ----------------
[INFO] [stdout]     |                                                         |          |
[INFO] [stdout]     |                                                         |          this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                                                         |          `#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                                         this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                                                         `#8` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 112 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.17/src/lock/bilock.rs:190:1
[INFO] [stdout]     |
[INFO] [stdout] 190 | impl<T> Drop for Inner<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.17/src/lock/bilock.rs:190:1
[INFO] [stdout]     |
[INFO] [stdout] 190 | impl<T> Drop for Inner<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `event` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.17/src/lock/bilock.rs:190:1
[INFO] [stdout]     |
[INFO] [stdout] 190 | impl<T> Drop for Inner<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `scylla_child` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.17/src/lock/bilock.rs:190:1
[INFO] [stdout]     |
[INFO] [stdout] 190 | impl<T> Drop for Inner<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `opt_ws_tx` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.17/src/lock/bilock.rs:190:1
[INFO] [stdout]     |
[INFO] [stdout] 190 | impl<T> Drop for Inner<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.17/src/lock/bilock.rs:190:1
[INFO] [stdout]     |
[INFO] [stdout] 190 | impl<T> Drop for Inner<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `ws_tx` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.17/src/lock/bilock.rs:190:1
[INFO] [stdout]     |
[INFO] [stdout] 190 | impl<T> Drop for Inner<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#8` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#9` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/app/cluster/event_loop.rs:14:37
[INFO] [stdout]     |
[INFO] [stdout]  14 |               while let Some(event) = self.inbox.rx.recv().await {
[INFO] [stdout]     |                              -----    ^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                              |        |                    |
[INFO] [stdout]     |                              |        |                    this value will be stored in a temporary; let us call it `#28`
[INFO] [stdout]     |                              |        |                    up until Edition 2021 `#28` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                              |        |                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                              |        |                    `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                              |        this value will be stored in a temporary; let us call it `#27`
[INFO] [stdout]     |                              |        up until Edition 2021 `#27` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                              |        `__awaitee` calls a custom destructor
[INFO] [stdout]     |                              |        `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                              `event` calls a custom destructor
[INFO] [stdout]     |                              `event` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  36 |                           let _ = supervisor.send(event);
[INFO] [stdout]     |                                   ----------------------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                   `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  44 |                               let _ = supervisor.send(event);
[INFO] [stdout]     |                                       ----------------------
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                       `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  55 |                           match cql.await {
[INFO] [stdout]     |                                 ---------
[INFO] [stdout]     |                                 |   |
[INFO] [stdout]     |                                 |   this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                                 |   `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                 this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                 `#4` will be dropped later as of Edition 2024
[INFO] [stdout]  56 |                               Ok(mut cqlconn) => {
[INFO] [stdout]     |                                  -----------
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  `cqlconn` calls a custom destructor
[INFO] [stdout]     |                                  `cqlconn` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  87 |                                       self.nodes.insert(address, node_info);
[INFO] [stdout]     |                                       -------------------------------------
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                                       `#6` will be dropped later as of Edition 2024
[INFO] [stdout]  88 |                                       tokio::spawn(node.start(self.handle.clone()));
[INFO] [stdout]     |                                       ---------------------------------------------
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                                       `#7` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  95 |                                   let _ = supervisor.send(event);
[INFO] [stdout]     |                                           ----------------------
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                                           `#8` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 101 |                           match self.nodes.remove(&address) { Some(mut node_info) => {
[INFO] [stdout]     |                                 ---------------------------        -------------
[INFO] [stdout]     |                                 |                                  |
[INFO] [stdout]     |                                 |                                  `node_info` calls a custom destructor
[INFO] [stdout]     |                                 |                                  `node_info` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                 this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                                 `#9` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 107 |                                   self.registry.remove(&node_info.address);
[INFO] [stdout]     |                                   ----------------------------------------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                                   `#10` will be dropped later as of Edition 2024
[INFO] [stdout] 108 |                               }
[INFO] [stdout] 109 |                               node_info.node_handle.shutdown();
[INFO] [stdout]     |                               --------------------------------
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     |                               `#11` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 118 |                               let _ = supervisor.send(event);
[INFO] [stdout]     |                                       ----------------------
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]     |                                       `#12` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 121 |                       ClusterEvent::RegisterReporters(microservice, reporters_handles) => {
[INFO] [stdout]     |                                                                     -----------------
[INFO] [stdout]     |                                                                     |
[INFO] [stdout]     |                                                                     `reporters_handles` calls a custom destructor
[INFO] [stdout]     |                                                                     `reporters_handles` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 132 |                               let _ = supervisor.send(event);
[INFO] [stdout]     |                                       ----------------------
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]     |                                       `#13` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 146 |                                   let (new_arc_ring, old_weak_ring) = initialize_ring(version, true);
[INFO] [stdout]     |                                                      -------------    ------------------------------
[INFO] [stdout]     |                                                      |                |
[INFO] [stdout]     |                                                      |                this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]     |                                                      |                `#14` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                                      `old_weak_ring` calls a custom destructor
[INFO] [stdout]     |                                                      `old_weak_ring` will be dropped later as of Edition 2024
[INFO] [stdout] 147 |                                   self.arc_ring.replace(new_arc_ring);
[INFO] [stdout]     |                                   -----------------------------------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   this value will be stored in a temporary; let us call it `#15`
[INFO] [stdout]     |                                   `#15` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 152 |                                   let (new_arc_ring, old_weak_ring) = build_ring(
[INFO] [stdout]     |  _____________________________________________________________________-
[INFO] [stdout] 153 | |                                     &mut self.data_centers,
[INFO] [stdout] 154 | |                                     &self.nodes,
[INFO] [stdout] 155 | |                                     self.registry.clone(),
[INFO] [stdout] ...   |
[INFO] [stdout] 158 | |                                     version,
[INFO] [stdout] 159 | |                                 );
[INFO] [stdout]     | |                                 -
[INFO] [stdout]     | |                                 |
[INFO] [stdout]     | |_________________________________this value will be stored in a temporary; let us call it `#16`
[INFO] [stdout]     |                                   `#16` will be dropped later as of Edition 2024
[INFO] [stdout] 160 |                                   // replace self.arc_ring
[INFO] [stdout] 161 |                                   self.arc_ring.replace(new_arc_ring);
[INFO] [stdout]     |                                   -----------------------------------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   this value will be stored in a temporary; let us call it `#17`
[INFO] [stdout]     |                                   `#17` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 171 |                               let _ = supervisor.send(event);
[INFO] [stdout]     |                                       ----------------------
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       this value will be stored in a temporary; let us call it `#18`
[INFO] [stdout]     |                                       `#18` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 175 |                               let _ = supervisor.send(event);
[INFO] [stdout]     |                                       ----------------------
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       this value will be stored in a temporary; let us call it `#19`
[INFO] [stdout]     |                                       `#19` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 182 |                           for (_, mut node_info) in self.nodes.drain() {
[INFO] [stdout]     |                                   -------------     ------------------
[INFO] [stdout]     |                                   |                 |
[INFO] [stdout]     |                                   |                 `iter` calls a custom destructor
[INFO] [stdout]     |                                   |                 `iter` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                   |                 this value will be stored in a temporary; let us call it `#20`
[INFO] [stdout]     |                                   |                 `#20` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                   this value will be stored in a temporary; let us call it `#21`
[INFO] [stdout]     |                                   `#21` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 187 |                                   self.registry.remove(&node_info.address);
[INFO] [stdout]     |                                   ----------------------------------------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   this value will be stored in a temporary; let us call it `#22`
[INFO] [stdout]     |                                   `#22` will be dropped later as of Edition 2024
[INFO] [stdout] 188 |                               }
[INFO] [stdout] 189 |                               node_info.node_handle.shutdown();
[INFO] [stdout]     |                               --------------------------------
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#23`
[INFO] [stdout]     |                               `#23` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 193 |                           let (new_arc_ring, old_weak_ring) = initialize_ring(version, true);
[INFO] [stdout]     |                                              -------------    ------------------------------
[INFO] [stdout]     |                                              |                |
[INFO] [stdout]     |                                              |                this value will be stored in a temporary; let us call it `#25`
[INFO] [stdout]     |                                              |                `#25` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                              this value will be stored in a temporary; let us call it `#24`
[INFO] [stdout]     |                                              `#24` will be dropped later as of Edition 2024
[INFO] [stdout] 194 |                           self.arc_ring.replace(new_arc_ring);
[INFO] [stdout]     |                           -----------------------------------
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#26`
[INFO] [stdout]     |                           `#26` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 205 |               }
[INFO] [stdout]     |               - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#27` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/sync/mpsc/chan.rs:182:1
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/sync/mpsc/chan.rs:182:1
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `event` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/sync/mpsc/chan.rs:182:1
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.17/src/lock/bilock.rs:190:1
[INFO] [stdout]     |
[INFO] [stdout] 190 | impl<T> Drop for Inner<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.17/src/lock/bilock.rs:190:1
[INFO] [stdout]     |
[INFO] [stdout] 190 | impl<T> Drop for Inner<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.44/src/error.rs:565:1
[INFO] [stdout]     |
[INFO] [stdout] 565 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/io/poll_evented.rs:202:1
[INFO] [stdout]     |
[INFO] [stdout] 202 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cqlconn` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/io/poll_evented.rs:202:1
[INFO] [stdout]     |
[INFO] [stdout] 202 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/sync/mpsc/chan.rs:182:1
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/runtime/task/join.rs:242:1
[INFO] [stdout]     |
[INFO] [stdout] 242 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.17/src/lock/bilock.rs:190:1
[INFO] [stdout]     |
[INFO] [stdout] 190 | impl<T> Drop for Inner<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/sync/mpsc/chan.rs:182:1
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `node_info` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/sync/mpsc/chan.rs:182:1
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/sync/mpsc/chan.rs:182:1
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/sync/mpsc/chan.rs:182:1
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.17/src/lock/bilock.rs:190:1
[INFO] [stdout]     |
[INFO] [stdout] 190 | impl<T> Drop for Inner<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `reporters_handles` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/sync/mpsc/chan.rs:182:1
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#13` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.17/src/lock/bilock.rs:190:1
[INFO] [stdout]     |
[INFO] [stdout] 190 | impl<T> Drop for Inner<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `old_weak_ring` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/sync.rs:3472:0
[INFO] [stdout] note: `#14` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/sync.rs:3472:0
[INFO] [stdout]     = note: `#14` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#14` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/sync/mpsc/chan.rs:182:1
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#15` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#15` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/sync/mpsc/chan.rs:182:1
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#16` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/sync.rs:3472:0
[INFO] [stdout]     = note: `#16` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#16` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/sync/mpsc/chan.rs:182:1
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#17` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#17` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/sync/mpsc/chan.rs:182:1
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#18` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.17/src/lock/bilock.rs:190:1
[INFO] [stdout]     |
[INFO] [stdout] 190 | impl<T> Drop for Inner<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#19` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.17/src/lock/bilock.rs:190:1
[INFO] [stdout]     |
[INFO] [stdout] 190 | impl<T> Drop for Inner<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/sync/mpsc/chan.rs:182:1
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#20` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/sync/mpsc/chan.rs:182:1
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#21` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/sync/mpsc/chan.rs:182:1
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#22` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/sync/mpsc/chan.rs:182:1
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#23` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/sync/mpsc/chan.rs:182:1
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#24` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/sync.rs:3472:0
[INFO] [stdout] note: `#25` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/sync.rs:3472:0
[INFO] [stdout]     = note: `#25` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#25` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/sync/mpsc/chan.rs:182:1
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#26` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#26` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/sync/mpsc/chan.rs:182:1
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/app/listener/event_loop.rs:21:44
[INFO] [stdout]     |
[INFO] [stdout]  19 |                 if let Ok((socket, peer)) = self.tcp_listener.accept().await {
[INFO] [stdout]     |                                             --------------------------------
[INFO] [stdout]     |                                             |                          |
[INFO] [stdout]     |                                             |                          this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                             |                          `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                             `__awaitee` calls a custom destructor
[INFO] [stdout]     |                                             `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]  20 |                     let peer = socket.peer_addr().unwrap_or(peer);
[INFO] [stdout]  21 |                     if let Ok(ws_stream) = accept_async(socket).await {
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                            |                    |
[INFO] [stdout]     |                                            |                    this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                                            |                    up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                            |                    this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                            |                    `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                            this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                                            up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                            this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                            `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  25 |                         tokio::spawn(websocket.start(supervisor.clone()));
[INFO] [stdout]     |                         -------------------------------------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                         `#4` will be dropped later as of Edition 2024
[INFO] [stdout]  26 |                     }
[INFO] [stdout]  27 |                 }
[INFO] [stdout]     |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/io/poll_evented.rs:202:1
[INFO] [stdout]     |
[INFO] [stdout] 202 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/io/poll_evented.rs:202:1
[INFO] [stdout]     |
[INFO] [stdout] 202 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/io/poll_evented.rs:202:1
[INFO] [stdout]     |
[INFO] [stdout] 202 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/runtime/task/join.rs:242:1
[INFO] [stdout]     |
[INFO] [stdout] 242 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/app/listener/event_loop.rs:19:45
[INFO] [stdout]     |
[INFO] [stdout]  19 |                 if let Ok((socket, peer)) = self.tcp_listener.accept().await {
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                             |                          |
[INFO] [stdout]     |                                             |                          this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                                             |                          up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                             |                          this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                             |                          `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                             this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                                             up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                             `__awaitee` calls a custom destructor
[INFO] [stdout]     |                                             `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]  20 |                     let peer = socket.peer_addr().unwrap_or(peer);
[INFO] [stdout]  21 |                     if let Ok(ws_stream) = accept_async(socket).await {
[INFO] [stdout]     |                                            --------------------------
[INFO] [stdout]     |                                            |                    |
[INFO] [stdout]     |                                            |                    this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                            |                    `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                            this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                            `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  25 |                         tokio::spawn(websocket.start(supervisor.clone()));
[INFO] [stdout]     |                         -------------------------------------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                         `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  28 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/io/poll_evented.rs:202:1
[INFO] [stdout]     |
[INFO] [stdout] 202 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/io/poll_evented.rs:202:1
[INFO] [stdout]     |
[INFO] [stdout] 202 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/io/poll_evented.rs:202:1
[INFO] [stdout]     |
[INFO] [stdout] 202 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/runtime/task/join.rs:242:1
[INFO] [stdout]     |
[INFO] [stdout] 242 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/app/node/event_loop.rs:27:70
[INFO] [stdout]     |
[INFO] [stdout]  14 |             while let Some(event) = self.inbox.rx.recv().await {
[INFO] [stdout]     |                            -----    --------------------------
[INFO] [stdout]     |                            |        |                    |
[INFO] [stdout]     |                            |        |                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                            |        |                    `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            |        `__awaitee` calls a custom destructor
[INFO] [stdout]     |                            |        `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            `event` calls a custom destructor
[INFO] [stdout]     |                            `event` will be dropped later as of Edition 2024
[INFO] [stdout]  15 |                 match event {
[INFO] [stdout]  16 |                     NodeEvent::RegisterReporters(microservice, reporters_handles) => {
[INFO] [stdout]     |                                                                -----------------
[INFO] [stdout]     |                                                                |
[INFO] [stdout]     |                                                                `reporters_handles` calls a custom destructor
[INFO] [stdout]     |                                                                `reporters_handles` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  23 |                                 reporters_handles_ref.insert(socket_addr, reporters_handles);
[INFO] [stdout]     |                                 ------------------------------------------------------------
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                 `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  27 |                                     if let Some(reporters_handles) = self.reporters_handles.take() {
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                                                      up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  32 |                                 } else {
[INFO] [stdout]     |                                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout]  68 |                         for (_, stage) in self.stages.drain() {
[INFO] [stdout]     |                                 -----     -------------------
[INFO] [stdout]     |                                 |         |
[INFO] [stdout]     |                                 |         `iter` calls a custom destructor
[INFO] [stdout]     |                                 |         `iter` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                 |         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                 |         `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                 `stage` calls a custom destructor
[INFO] [stdout]     |                                 `stage` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/sync/mpsc/chan.rs:182:1
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/sync/mpsc/chan.rs:182:1
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `event` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/sync/mpsc/chan.rs:182:1
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `reporters_handles` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/sync/mpsc/chan.rs:182:1
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/sync/mpsc/chan.rs:182:1
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/sync/mpsc/chan.rs:182:1
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/sync/mpsc/chan.rs:182:1
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `stage` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/sync/mpsc/chan.rs:182:1
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/app/node/event_loop.rs:14:37
[INFO] [stdout]     |
[INFO] [stdout]  14 |             while let Some(event) = self.inbox.rx.recv().await {
[INFO] [stdout]     |                            -----    ^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                            |        |                    |
[INFO] [stdout]     |                            |        |                    this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                            |        |                    up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                            |        |                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                            |        |                    `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            |        this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                            |        up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                            |        `__awaitee` calls a custom destructor
[INFO] [stdout]     |                            |        `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            `event` calls a custom destructor
[INFO] [stdout]     |                            `event` will be dropped later as of Edition 2024
[INFO] [stdout]  15 |                 match event {
[INFO] [stdout]  16 |                     NodeEvent::RegisterReporters(microservice, reporters_handles) => {
[INFO] [stdout]     |                                                                -----------------
[INFO] [stdout]     |                                                                |
[INFO] [stdout]     |                                                                `reporters_handles` calls a custom destructor
[INFO] [stdout]     |                                                                `reporters_handles` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  23 |                                 reporters_handles_ref.insert(socket_addr, reporters_handles);
[INFO] [stdout]     |                                 ------------------------------------------------------------
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                 `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  68 |                         for (_, stage) in self.stages.drain() {
[INFO] [stdout]     |                                 -----     -------------------
[INFO] [stdout]     |                                 |         |
[INFO] [stdout]     |                                 |         `iter` calls a custom destructor
[INFO] [stdout]     |                                 |         `iter` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                 |         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                 |         `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                 `stage` calls a custom destructor
[INFO] [stdout]     |                                 `stage` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  80 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/sync/mpsc/chan.rs:182:1
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/sync/mpsc/chan.rs:182:1
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `event` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/sync/mpsc/chan.rs:182:1
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `reporters_handles` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/sync/mpsc/chan.rs:182:1
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/sync/mpsc/chan.rs:182:1
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/sync/mpsc/chan.rs:182:1
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/sync/mpsc/chan.rs:182:1
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `stage` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/sync/mpsc/chan.rs:182:1
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/app/node/init.rs:24:23
[INFO] [stdout]     |
[INFO] [stdout]  15 |                 let stage = StageBuilder::new()
[INFO] [stdout]     |                     -----
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `stage` calls a custom destructor
[INFO] [stdout]     |                     `stage` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  24 |                 match stage.clone_handle() { Some(stage_handle) => {
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                       up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  31 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/sync/mpsc/chan.rs:182:1
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `stage` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/sync/mpsc/chan.rs:316:1
[INFO] [stdout]     |
[INFO] [stdout] 316 | impl<T, S: Semaphore> Drop for Rx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `stage` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/sync/mpsc/chan.rs:182:1
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `stage` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/sync/mpsc/chan.rs:182:1
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/app/stage/init.rs:39:31
[INFO] [stdout]     |
[INFO] [stdout]  30 |                         let reporter = ReporterBuilder::new()
[INFO] [stdout]     |                             --------
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             `reporter` calls a custom destructor
[INFO] [stdout]     |                             `reporter` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  39 |                         match reporter.clone_handle() { Some(reporter_handle) => {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  50 |                     } else {
[INFO] [stdout]     |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/sync/mpsc/chan.rs:182:1
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `reporter` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/sync/mpsc/chan.rs:316:1
[INFO] [stdout]     |
[INFO] [stdout] 316 | impl<T, S: Semaphore> Drop for Rx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `reporter` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/sync/mpsc/chan.rs:182:1
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `reporter` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/sync/mpsc/chan.rs:182:1
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `reporter` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/app/stage/reporter/event_loop.rs:14:37
[INFO] [stdout]     |
[INFO] [stdout]  14 |             while let Some(event) = self.inbox.rx.recv().await {
[INFO] [stdout]     |                            -----    ^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                            |        |                    |
[INFO] [stdout]     |                            |        |                    this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                            |        |                    up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                            |        |                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                            |        |                    `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            |        this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                            |        up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                            |        `__awaitee` calls a custom destructor
[INFO] [stdout]     |                            |        `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            `event` calls a custom destructor
[INFO] [stdout]     |                            `event` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  26 |                                     self.workers.insert(stream, worker);
[INFO] [stdout]     |                                     -----------------------------------
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                     `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  51 |                     ReporterEvent::Session(session) => {
[INFO] [stdout]     |                                            -------
[INFO] [stdout]     |                                            |
[INFO] [stdout]     |                                            `session` calls a custom destructor
[INFO] [stdout]     |                                            `session` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 122 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/sync/mpsc/chan.rs:182:1
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.44/src/error.rs:565:1
[INFO] [stdout]     |
[INFO] [stdout] 565 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/sync/mpsc/chan.rs:182:1
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.44/src/error.rs:565:1
[INFO] [stdout]     |
[INFO] [stdout] 565 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `event` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/sync/mpsc/chan.rs:182:1
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `event` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.44/src/error.rs:565:1
[INFO] [stdout]     |
[INFO] [stdout] 565 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `event` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `session` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/sync/mpsc/chan.rs:182:1
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> src/app/stage/sender/event_loop.rs:19:62
[INFO] [stdout]    |
[INFO] [stdout] 19 |             while let Some(stream_id) = self.inbox.rx.recv().await {
[INFO] [stdout]    |                                         ---------------------^^^^^
[INFO] [stdout]    |                                         |                    |
[INFO] [stdout]    |                                         |                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]    |                                         |                    up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]    |                                         `__awaitee` calls a custom destructor
[INFO] [stdout]    |                                         `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 37 |             }
[INFO] [stdout]    |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]    |
[INFO] [stdout]    = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/app/websocket/event_loop.rs:20:39
[INFO] [stdout]     |
[INFO] [stdout]  20 |             while let Some(Ok(msg)) = self.ws_rx.next().await {
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                       |                 |
[INFO] [stdout]     |                                       |                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                       |                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                       this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                       up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  23 |                         let apps_events: H::AppsEvents = serde_json::from_str(&msg_txt).map_err(|_| Need::Abort)?;
[INFO] [stdout]     |                                                          --------------------------------------------------------
[INFO] [stdout]     |                                                          |
[INFO] [stdout]     |                                                          this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                                          `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  34 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/app/ring/mod.rs:137:39
[INFO] [stdout]     |
[INFO] [stdout] 137 |                         Weak::upgrade(GLOBAL_RING.as_ref().unwrap().load(Ordering::Relaxed).as_ref().unwrap())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: `--force-warn static-mut-refs` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout]  79 - static mut GLOBAL_RING: Option<AtomicRing> = None;
[INFO] [stdout]  79 + static GLOBAL_RING: Option<AtomicRing> = None;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/app/ring/mod.rs:160:35
[INFO] [stdout]     |
[INFO] [stdout] 160 |                     Weak::upgrade(GLOBAL_RING.as_ref().unwrap().load(Ordering::Relaxed).as_ref().unwrap())
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout]  79 - static mut GLOBAL_RING: Option<AtomicRing> = None;
[INFO] [stdout]  79 + static GLOBAL_RING: Option<AtomicRing> = None;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/app/ring/mod.rs:251:32
[INFO] [stdout]     |
[INFO] [stdout] 251 |                 let old_weak = GLOBAL_RING.as_mut().unwrap().swap(raw_box, Ordering::Relaxed);
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout]  79 - static mut GLOBAL_RING: Option<AtomicRing> = None;
[INFO] [stdout]  79 + static GLOBAL_RING: Option<AtomicRing> = None;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/app/ring/mod.rs:607:24
[INFO] [stdout]     |
[INFO] [stdout] 607 |         let old_weak = GLOBAL_RING.as_mut().unwrap().swap(raw_box, Ordering::Relaxed);
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout]  79 - static mut GLOBAL_RING: Option<AtomicRing> = None;
[INFO] [stdout]  79 + static GLOBAL_RING: Option<AtomicRing> = None;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating examples/benchmark.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed examples/benchmark.rs (4 fixes)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> examples/benchmark.rs:185:27
[INFO] [stdout]     |
[INFO] [stdout] 185 |     while let Some(res) = inbox.recv().await {
[INFO] [stdout]     |                    ---    ^^^^^^^^^^^^^-----
[INFO] [stdout]     |                    |      |            |
[INFO] [stdout]     |                    |      |            this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                    |      |            up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                    |      |            this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                    |      |            `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                    |      this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                    |      up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                    |      `__awaitee` calls a custom destructor
[INFO] [stdout]     |                    |      `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                    `res` calls a custom destructor
[INFO] [stdout]     |                    `res` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 188 |             Err(e) => error!("Select error: {}", e),
[INFO] [stdout]     |                 -
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `e` calls a custom destructor
[INFO] [stdout]     |                 `e` will be dropped later as of Edition 2024
[INFO] [stdout] 189 |         }
[INFO] [stdout] 190 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.44/src/error.rs:565:1
[INFO] [stdout]     |
[INFO] [stdout] 565 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.44/src/error.rs:565:1
[INFO] [stdout]     |
[INFO] [stdout] 565 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `res` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.44/src/error.rs:565:1
[INFO] [stdout]     |
[INFO] [stdout] 565 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.44/src/error.rs:565:1
[INFO] [stdout]     |
[INFO] [stdout] 565 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 53.55s
[INFO] [stderr] crater-edition-check: scylla-rs v0.1.6 (/opt/rustwide/workdir) updating edition from 2021 to 2024
[INFO] [stderr]     Checking scylla-rs v0.1.6 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary parentheses around index expression
[INFO] [stdout]   --> src/cql/frame/error.rs:45:28
[INFO] [stdout]    |
[INFO] [stdout] 45 |                     &slice[(6 + message.len()..)],
[INFO] [stdout]    |                            ^                   ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 45 -                     &slice[(6 + message.len()..)],
[INFO] [stdout] 45 +                     &slice[6 + message.len()..],
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around index expression
[INFO] [stdout]   --> src/cql/frame/error.rs:50:28
[INFO] [stdout]    |
[INFO] [stdout] 50 |                     &slice[(6 + message.len()..)],
[INFO] [stdout]    |                            ^                   ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 50 -                     &slice[(6 + message.len()..)],
[INFO] [stdout] 50 +                     &slice[6 + message.len()..],
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around index expression
[INFO] [stdout]   --> src/cql/frame/error.rs:55:28
[INFO] [stdout]    |
[INFO] [stdout] 55 |                     &slice[(6 + message.len()..)],
[INFO] [stdout]    |                            ^                   ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 55 -                     &slice[(6 + message.len()..)],
[INFO] [stdout] 55 +                     &slice[6 + message.len()..],
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around index expression
[INFO] [stdout]   --> src/cql/frame/error.rs:60:28
[INFO] [stdout]    |
[INFO] [stdout] 60 |                     &slice[(6 + message.len()..)],
[INFO] [stdout]    |                            ^                   ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 60 -                     &slice[(6 + message.len()..)],
[INFO] [stdout] 60 +                     &slice[6 + message.len()..],
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around index expression
[INFO] [stdout]   --> src/cql/frame/error.rs:65:28
[INFO] [stdout]    |
[INFO] [stdout] 65 |                     &slice[(6 + message.len()..)],
[INFO] [stdout]    |                            ^                   ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 65 -                     &slice[(6 + message.len()..)],
[INFO] [stdout] 65 +                     &slice[6 + message.len()..],
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around index expression
[INFO] [stdout]   --> src/cql/frame/error.rs:70:28
[INFO] [stdout]    |
[INFO] [stdout] 70 |                     &slice[(6 + message.len()..)],
[INFO] [stdout]    |                            ^                   ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 70 -                     &slice[(6 + message.len()..)],
[INFO] [stdout] 70 +                     &slice[6 + message.len()..],
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around index expression
[INFO] [stdout]   --> src/cql/frame/error.rs:75:28
[INFO] [stdout]    |
[INFO] [stdout] 75 |                     &slice[(6 + message.len()..)],
[INFO] [stdout]    |                            ^                   ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 75 -                     &slice[(6 + message.len()..)],
[INFO] [stdout] 75 +                     &slice[6 + message.len()..],
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around index expression
[INFO] [stdout]   --> src/cql/frame/error.rs:80:28
[INFO] [stdout]    |
[INFO] [stdout] 80 |                     &slice[(6 + message.len()..)],
[INFO] [stdout]    |                            ^                   ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 80 -                     &slice[(6 + message.len()..)],
[INFO] [stdout] 80 +                     &slice[6 + message.len()..],
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around index expression
[INFO] [stdout]   --> src/cql/frame/error.rs:45:28
[INFO] [stdout]    |
[INFO] [stdout] 45 |                     &slice[(6 + message.len()..)],
[INFO] [stdout]    |                            ^                   ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 45 -                     &slice[(6 + message.len()..)],
[INFO] [stdout] 45 +                     &slice[6 + message.len()..],
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around index expression
[INFO] [stdout]   --> src/cql/frame/error.rs:50:28
[INFO] [stdout]    |
[INFO] [stdout] 50 |                     &slice[(6 + message.len()..)],
[INFO] [stdout]    |                            ^                   ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 50 -                     &slice[(6 + message.len()..)],
[INFO] [stdout] 50 +                     &slice[6 + message.len()..],
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around index expression
[INFO] [stdout]   --> src/cql/frame/error.rs:55:28
[INFO] [stdout]    |
[INFO] [stdout] 55 |                     &slice[(6 + message.len()..)],
[INFO] [stdout]    |                            ^                   ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 55 -                     &slice[(6 + message.len()..)],
[INFO] [stdout] 55 +                     &slice[6 + message.len()..],
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around index expression
[INFO] [stdout]   --> src/cql/frame/error.rs:60:28
[INFO] [stdout]    |
[INFO] [stdout] 60 |                     &slice[(6 + message.len()..)],
[INFO] [stdout]    |                            ^                   ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 60 -                     &slice[(6 + message.len()..)],
[INFO] [stdout] 60 +                     &slice[6 + message.len()..],
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around index expression
[INFO] [stdout]   --> src/cql/frame/error.rs:65:28
[INFO] [stdout]    |
[INFO] [stdout] 65 |                     &slice[(6 + message.len()..)],
[INFO] [stdout]    |                            ^                   ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 65 -                     &slice[(6 + message.len()..)],
[INFO] [stdout] 65 +                     &slice[6 + message.len()..],
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around index expression
[INFO] [stdout]   --> src/cql/frame/error.rs:70:28
[INFO] [stdout]    |
[INFO] [stdout] 70 |                     &slice[(6 + message.len()..)],
[INFO] [stdout]    |                            ^                   ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 70 -                     &slice[(6 + message.len()..)],
[INFO] [stdout] 70 +                     &slice[6 + message.len()..],
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around index expression
[INFO] [stdout]   --> src/cql/frame/error.rs:75:28
[INFO] [stdout]    |
[INFO] [stdout] 75 |                     &slice[(6 + message.len()..)],
[INFO] [stdout]    |                            ^                   ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 75 -                     &slice[(6 + message.len()..)],
[INFO] [stdout] 75 +                     &slice[6 + message.len()..],
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around index expression
[INFO] [stdout]   --> src/cql/frame/error.rs:80:28
[INFO] [stdout]    |
[INFO] [stdout] 80 |                     &slice[(6 + message.len()..)],
[INFO] [stdout]    |                            ^                   ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 80 -                     &slice[(6 + message.len()..)],
[INFO] [stdout] 80 +                     &slice[6 + message.len()..],
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `global_table_spec` and `no_metadata` are never read
[INFO] [stdout]   --> src/cql/frame/rows.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct Flags {
[INFO] [stdout]    |            ----- fields in this struct
[INFO] [stdout] 21 |     global_table_spec: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 22 |     has_more_pages: bool,
[INFO] [stdout] 23 |     no_metadata: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Flags` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `columns_count` is never read
[INFO] [stdout]   --> src/cql/frame/rows.rs:56:5
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct Metadata {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] 55 |     flags: Flags,
[INFO] [stdout] 56 |     columns_count: ColumnsCount,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Metadata` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `request_type` is never read
[INFO] [stdout]    --> src/app/access/mod.rs:124:5
[INFO] [stdout]     |
[INFO] [stdout] 122 | pub struct DecodeResult<T> {
[INFO] [stdout]     |            ------------ field in this struct
[INFO] [stdout] 123 |     inner: T,
[INFO] [stdout] 124 |     request_type: RequestType,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DecodeResult` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/cql/frame/consistency.rs:10:17
[INFO] [stdout]    |
[INFO] [stdout] 10 | #[derive(Debug, FromPrimitive)]
[INFO] [stdout]    |                 ^------------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `FromPrimitive` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_Consistency`
[INFO] [stdout] ...
[INFO] [stdout] 13 | pub enum Consistency {
[INFO] [stdout]    |          ----------- `Consistency` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: creating a shared reference to mutable static
[INFO] [stdout]    --> src/app/ring/mod.rs:137:39
[INFO] [stdout]     |
[INFO] [stdout] 137 |                         Weak::upgrade(GLOBAL_RING.as_ref().unwrap().load(Ordering::Relaxed).as_ref().unwrap())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: `#[deny(static_mut_refs)]` (part of `#[deny(rust_2024_compatibility)]`) on by default
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout]  79 - static mut GLOBAL_RING: Option<AtomicRing> = None;
[INFO] [stdout]  79 + static GLOBAL_RING: Option<AtomicRing> = None;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: creating a shared reference to mutable static
[INFO] [stdout]    --> src/app/ring/mod.rs:160:35
[INFO] [stdout]     |
[INFO] [stdout] 160 |                     Weak::upgrade(GLOBAL_RING.as_ref().unwrap().load(Ordering::Relaxed).as_ref().unwrap())
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout]  79 - static mut GLOBAL_RING: Option<AtomicRing> = None;
[INFO] [stdout]  79 + static GLOBAL_RING: Option<AtomicRing> = None;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/app/ring/mod.rs:251:32
[INFO] [stdout]     |
[INFO] [stdout] 251 |                 let old_weak = GLOBAL_RING.as_mut().unwrap().swap(raw_box, Ordering::Relaxed);
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout]  79 - static mut GLOBAL_RING: Option<AtomicRing> = None;
[INFO] [stdout]  79 + static GLOBAL_RING: Option<AtomicRing> = None;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/app/ring/mod.rs:607:24
[INFO] [stdout]     |
[INFO] [stdout] 607 |         let old_weak = GLOBAL_RING.as_mut().unwrap().swap(raw_box, Ordering::Relaxed);
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout]  79 - static mut GLOBAL_RING: Option<AtomicRing> = None;
[INFO] [stdout]  79 + static GLOBAL_RING: Option<AtomicRing> = None;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `global_table_spec` and `no_metadata` are never read
[INFO] [stdout]   --> src/cql/frame/rows.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct Flags {
[INFO] [stdout]    |            ----- fields in this struct
[INFO] [stdout] 21 |     global_table_spec: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 22 |     has_more_pages: bool,
[INFO] [stdout] 23 |     no_metadata: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Flags` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `columns_count` is never read
[INFO] [stdout]   --> src/cql/frame/rows.rs:56:5
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct Metadata {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] 55 |     flags: Flags,
[INFO] [stdout] 56 |     columns_count: ColumnsCount,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Metadata` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `request_type` is never read
[INFO] [stdout]    --> src/app/access/mod.rs:124:5
[INFO] [stdout]     |
[INFO] [stdout] 122 | pub struct DecodeResult<T> {
[INFO] [stdout]     |            ------------ field in this struct
[INFO] [stdout] 123 |     inner: T,
[INFO] [stdout] 124 |     request_type: RequestType,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DecodeResult` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BatchWorker` is never constructed
[INFO] [stdout]    --> src/app/access/mod.rs:332:12
[INFO] [stdout]     |
[INFO] [stdout] 332 |     struct BatchWorker<S> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `scylla-rs` (lib test) due to 4 previous errors; 12 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/cql/frame/consistency.rs:10:17
[INFO] [stdout]    |
[INFO] [stdout] 10 | #[derive(Debug, FromPrimitive)]
[INFO] [stdout]    |                 ^------------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `FromPrimitive` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_Consistency`
[INFO] [stdout] ...
[INFO] [stdout] 13 | pub enum Consistency {
[INFO] [stdout]    |          ----------- `Consistency` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: creating a shared reference to mutable static
[INFO] [stdout]    --> src/app/ring/mod.rs:137:39
[INFO] [stdout]     |
[INFO] [stdout] 137 |                         Weak::upgrade(GLOBAL_RING.as_ref().unwrap().load(Ordering::Relaxed).as_ref().unwrap())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: `#[deny(static_mut_refs)]` (part of `#[deny(rust_2024_compatibility)]`) on by default
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout]  79 - static mut GLOBAL_RING: Option<AtomicRing> = None;
[INFO] [stdout]  79 + static GLOBAL_RING: Option<AtomicRing> = None;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: creating a shared reference to mutable static
[INFO] [stdout]    --> src/app/ring/mod.rs:160:35
[INFO] [stdout]     |
[INFO] [stdout] 160 |                     Weak::upgrade(GLOBAL_RING.as_ref().unwrap().load(Ordering::Relaxed).as_ref().unwrap())
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout]  79 - static mut GLOBAL_RING: Option<AtomicRing> = None;
[INFO] [stdout]  79 + static GLOBAL_RING: Option<AtomicRing> = None;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/app/ring/mod.rs:251:32
[INFO] [stdout]     |
[INFO] [stdout] 251 |                 let old_weak = GLOBAL_RING.as_mut().unwrap().swap(raw_box, Ordering::Relaxed);
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout]  79 - static mut GLOBAL_RING: Option<AtomicRing> = None;
[INFO] [stdout]  79 + static GLOBAL_RING: Option<AtomicRing> = None;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/app/ring/mod.rs:607:24
[INFO] [stdout]     |
[INFO] [stdout] 607 |         let old_weak = GLOBAL_RING.as_mut().unwrap().swap(raw_box, Ordering::Relaxed);
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout]  79 - static mut GLOBAL_RING: Option<AtomicRing> = None;
[INFO] [stdout]  79 + static GLOBAL_RING: Option<AtomicRing> = None;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `scylla-rs` (lib) due to 4 previous errors; 13 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "7aad79a9a184548845852e1920c80459d8d30063fd939ac42cac010741f75d13", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7aad79a9a184548845852e1920c80459d8d30063fd939ac42cac010741f75d13", kill_on_drop: false }`
[INFO] [stdout] 7aad79a9a184548845852e1920c80459d8d30063fd939ac42cac010741f75d13
